Niektóre rzeczy są łatwiejsze do wykonania ręcznie (kod), ale niektóre są łatwiejsze dzięki WF. Wygląda na to, że WF można wykorzystać do stworzenia (prawie) dowolnego algorytmu. Więc (teoretycznie) mogę zrobić całą swoją logikę w WF, ale prawdopodobnie jest to zły pomysł, aby robić to dla wszystkich projektów.
W jakich sytuacjach warto korzystać z WF, a kiedy będzie to trudniejsze, niż powinno? Jakie są zalety i wady / koszt WF vs. kodowanie ręczne?
.net
workflow
workflow-foundation
Sumrak
źródło
źródło
Odpowiedzi:
Możesz potrzebować WF tylko wtedy, gdy spełniony jest którykolwiek z poniższych warunków:
Aby uzyskać więcej informacji, zobacz post Paula Andrew: Do czego używać Windows Workflow Foundation?
Proszę nie mylić ani nie odnosić WF do żadnego rodzaju programowania wizualnego. Jest to złe i może prowadzić do bardzo złych decyzji dotyczących architektury / projektu.
źródło
Nigdy. Prawdopodobnie będziesz tego żałować:
Jedyny moment, w którym mógłbym sobie wyobrazić użycie WF, to gdybym chciał hostować projektanta dla użytkownika końcowego, a prawdopodobnie nawet wtedy.
Zaufaj mi, nic nigdy nie będzie tak proste, wydajne ani elastyczne jak kod, który piszesz, aby robić dokładnie to, czego potrzebujesz. Trzymaj się z dala od WF.
Oczywiście to tylko moja opinia, ale myślę, że jest cholernie dobra. :)
źródło
Kod wygenerowany przez WF jest nieprzyjemny. Wartość, jaką wnosi WF, polega na wizualnej reprezentacji systemu, chociaż jeszcze nie widziałem niczego (6-7 projektów w pracy z WF, w które byłem zaangażowany), w którym nie wolałbym prostszego projektu zakodowanego ręcznie .
źródło
Ogólnie rzecz biorąc, jeśli nie potrzebujesz funkcji trwałości i śledzenia (które moim zdaniem są głównymi cechami), nie powinieneś używać Workflow Foundation.
Oto zalety i wady Workflow Foundation, które zebrałem z mojego doświadczenia:
Zalety
Niedogodności
źródło
Głównym powodem, dla którego znalazłem zastosowanie podstawy przepływu pracy, jest to, jak bardzo wyciąga ona cię z pudełka pod względem śledzenia i trwałości. Bardzo łatwo jest skonfigurować i uruchomić usługę trwałości, która zapewnia niezawodność i rozkład obciążenia między wieloma instancjami i hostami.
Z drugiej strony, podobnie jak aplikacje formularzy, wzorce kodu, do których popycha Cię projektant przepływu pracy, są złe. Możesz jednak uniknąć problemów, nie pisząc kodu w przepływie pracy i delegując całą pracę do innych klas, które mogą być organizowane i testowane jednostkowo z większą wdziękiem niż przepływ pracy. Wtedy otrzymujesz fajny wizualny aspekt projektanta bez okruchów kodu spaghetti.
źródło
Osobiście nie jestem sprzedawany na WF. Jego użyteczność nie była dla mnie tak oczywista, jak inne nowe technologie MS, takie jak WPF czy WCF.
Myślę, że WF będzie w przyszłości intensywnie używany w aplikacjach biznesowych, ale nie planuję go używać, ponieważ nie wydaje mi się, aby był to odpowiednie narzędzie do pracy w moich projektach.
źródło
Firma, dla której obecnie pracuję, skonfigurowała platformę Windows Workflow Foundation (WF) i powody, dla których zdecydowali się jej użyć, były spowodowane tym, że reguły często się zmieniały, co zmusiłoby ich do ponownej kompilacji różnych bibliotek dll itp., A więc ich rozwiązania polegało na umieszczeniu reguł w DB i wywołaniu ich stamtąd. W ten sposób mogli zmienić zasady i nie musieli ponownie kompilować i redystrybuować bibliotek dll itp.
źródło
Przepływy pracy Windows uwodzą niekodujących menedżerów IT, BA i tym podobnych, podobnie jak jego kuzyn BizTalk, ale w praktyce testowanie jednostkowe, debugowanie i pokrycie kodu to tylko trzy z wielu pułapek. Możesz pokonać niektóre z nich, ale musisz dużo zainwestować, aby to osiągnąć, podczas gdy w przypadku zwykłego kodu po prostu to uzyskasz. Jeśli naprawdę masz długoterminowe wymagania, prawdopodobnie potrzebujesz czegoś bardziej wyrafinowanego. Słyszałem argument o możliwości upuszczania nowych plików xaml do produkcji bez ponownej kompilacji bibliotek dll, ale szczerze mówiąc, czas, który będą zużywać przepływy pracy, można lepiej wykorzystać do ulepszenia ciągłej integracji do punktu, w którym skompilowane wdrożenia nie stanowią problemu.
źródło
Używałbym go w każdym środowisku, w którym potrzebuję pracować z przepływem pracy, jednak w połączeniu z K2, a nawet SharePoint 2007 moc platformy jest naprawdę przydatna. Podczas tworzenia aplikacji biznesowych ze specjalistami BI zaleca się korzystanie z platformy, co zwykle ma znaczenie tylko dla usprawnienia i usprawnienia procesów biznesowych.
Dla przypomnienia, WF został opracowany we współpracy z zespołem programistów K2, a nowy K2 Blackpearl jest oparty na WF, podobnie jak silniki przepływu pracy MOSS 2007 i WSS 3.0.
źródło
Jeśli nie chcesz ręcznie pisać wszystkich tych kodów, aby zachować interfejs wizualny, śledzenie i trwałość, mądrym wyborem jest głosowanie na WF.
źródło
Od miesięcy używam przepływu pracy systemu Windows do opracowywania niestandardowych działań i ponownie hostowanego projektanta, którego osoby niebędące programistami mogą używać do tworzenia przepływów pracy. WF jest bardzo potężny, ale jest tak dobry, jak niestandardowe działania tworzone przez programistów. Jeśli chodzi o to, programista musiałby przejrzeć przepływy pracy utworzone przez osoby niebędące programistami w celu testowania i debugowania, ale od momentu, w którym mogą tworzyć robocze przepływy pracy - to fantastyczne.
Co więcej, w przypadkach, w których masz długo działające procesy, WF jest dobrym stosem technicznym do użycia, gdy musisz dynamicznie aktualizować procesy - bez konieczności ponownej instalacji / pobierania lub wykonywania czegokolwiek, po prostu dodaj nowe pliki XAML do katalogu, a Twoja architektura powinna być skonfiguruj z wersjonowaniem, aby odrzucić stary i użyć nowego.
źródło