Kada naudoti „Windows Workflow Foundation“?

Kai kuriuos dalykus lengviau įgyvendinti tik rankiniu būdu (kodas), tačiau kai kurie iš jų yra paprastesni naudojant WF. Atrodo, kad WF gali būti naudojamas kuriant (beveik) bet kokį algoritmą. Taigi (teoriškai) aš galiu padaryti visą savo logiką WF, bet tai tikriausiai yra bloga idėja visiems projektams.

Kokiose situacijose yra gera idėja naudoti WF, o kai tai apsunkina situaciją, ar jie turėtų būti? Kokie yra WF privalumai ir trūkumai, palyginti su rankiniu kodavimu?

138
19 сент. Sumrakas nustatė rugsėjo 19 d 2008-09-19 20:56 '08 at 8:56 pm 2008-09-19 20:56
@ 11 atsakymų

Jums gali prireikti WF tik tuo atveju, jei yra viena iš šių sąlygų:

  • Jūs turite ilgą procesą.
  • Jūs turite procesą, kuris dažnai keičiasi.
  • Jums reikia vizualaus proceso modelio.

Daugiau informacijos rasite Paul Andrew Andrew straipsnyje: Ką turėtų naudoti „Windows Workflow Foundation“?

Negalima painioti ir susieti WF su bet kokiu vizualiniu programavimu. Tai neteisinga ir gali sukelti labai blogus architektūros ir dizaino sprendimus.

116
21 сент. Atsakymas pateikiamas Panos 21 rugsėjo. 2008-09-21 19:05 '08 at 7:05 pm 2008-09-21 19:05

Niekada. Jūs tikriausiai gailėsite.

Kodėl Paprasta

  • Staigaus mokymosi kreivė
  • Sunku derinti
  • Sunku išlaikyti
  • Nepateikia pakankamai galios, lankstumo ar našumo didinimo, kad būtų galima pateisinti jo naudojimą.
  • Jis gali ir gali pakenkti programos būsenai, kurios negalima atkurti

Vienintelis laikas, kai aš kada nors galvojau apie WF naudojimą, yra tai, kad noriu galutiniam vartotojui pastatyti konstruktorių, o gal net tada.

Patikėkite manimi, niekas niekada nebus toks paprastas, galingas ar lankstus, kaip kodas, kurį rašote, kad padarytumėte būtent tai, ko jums reikia. Būkite atokiau nuo WF.

Žinoma, tai tik mano nuomonė, bet manau, kad tai yra prakeikta. :)

66
21 дек. Atsakymą pateikė Ronnie Overby gruodžio 21 d. 2011-12-21 21:11 '11, 21:11, 2011-12-21 21:11

WF sukurtas kodas yra nemalonus. Vertė, kurią WF atneša, yra vizualinis sistemos vaizdas, nors vis dar nematau nieko (6-7 projektai darbe su WF, su kuriais aš esu prijungtas), kur aš nenorėčiau paprastesnio projekto su rankiniu kodavimu.

47
19 сент. atsakymas, pateiktas 19 d 2008-09-19 21:02 '08 at 9:02 pm 2008-09-19 21:02

Apskritai, jei jums nereikia saugojimo ir stebėjimo funkcijų (kurios, mano nuomone, yra pagrindinės funkcijos), neturėtumėte naudoti „Workflow Foundation“.

Čia pateikiami „Workflow Foundation“ privalumai ir trūkumai, kuriuos surinkiau iš savo patirties:

<strong> nauda

  • Patvarumas: jei turite daug ilgų procesų (manau, dienų, savaičių, mėnesių), tada darbo srautai yra puikūs. Neapdoroti darbo eigos pavyzdžiai yra saugomi duomenų bazėje, todėl jie nenaudoja atminties.
  • Stebėjimas: WF suteikia mechanizmą, skirtą stebėti kiekvieną veiksmą, atliktą darbo eigoje.
  • * Vizualinis dizaineris: aš jį pateikiu kaip *, nes manau, kad tai tikrai naudinga tik rinkodaros tikslais. Kaip kūrėjas, aš norėčiau parašyti kodą, o ne fotografuoti dalykų vizualiai. Ir kai jūs turite ne kūrėjo, kuriančio darbo eigą, dažnai atsidursite didžiulėje sumaištyje.

Trūkumai

  • Programavimo modelis: Jūs tikrai ribojate programavimo funkcijų. Pagalvokite apie visas puikias funkcijas, kurias turite C #, ir tada pamiršite apie jas. Paprastas vienas ar du eilutės operatoriai C # tampa gana dideli blokų veiksmai. Tai ypač skausminga įvesties patvirtinimui. Tai pasakius, jei iš tikrųjų stengiatės išlaikyti tik aukšto lygio logiką darbo eigose ir visa kita C #, tai gali būti ne problema.
  • Veikimas: darbo eigos naudoja didelį atminties kiekį. Jei serveryje diegiate kelias darbo eigos, įsitikinkite, kad turite daug atminties. Taip pat atminkite, kad darbo eigos yra daug lėtesnės nei įprastas C # kodas.
  • Sunkus mokymosi kreivė, kurią sunku ištaisyti: Kaip minėta pirmiau. Jūs ketinate praleisti daug laiko, kad išsiaiškintumėte, kaip padaryti viską, ką daryti, ir suprasti, kaip geriausiai ką nors padaryti.
  • Darbo eigos versijos nesuderinamumas. Jei diegiate darbo eigą su atkaklumu ir turite atlikti darbo eigos atnaujinimus, senesni darbo eigos atvejai nebėra suderinami. Manoma, kad tai yra fiksuota .NET 4.5.
  • Turite naudoti VB išraiškas (.NET 4.5 leidžia C # išraiškas).
  • Ne lanksti: jei jums reikia specialios ar specialios funkcijos, kurios nepateikė „Workflow Foundation“, pasiruoškite skausmui. Kai kuriais atvejais tai gali būti net neįmanoma. Kas žino, kol bandysite? Čia yra didelė rizika.
  • WCF XAML paslaugos be sąsajų: Paprastai su WCF paslaugomis vystosi prieš sąsają. Su WCF XAML paslaugomis negalite garantuoti, kad WCF XAML paslauga įdiegė viską sąsajoje. Net nereikia apibrėžti sąsajos. (kiek aš žinau ...)
33
29 июля '13 в 14:14 2013-07-29 14:14 atsakymas pateikiamas Masė liepos 29 d. 13, 14:14 2013-07-29 14:14

Pagrindinė priežastis, kodėl naudoju darbo eigos pagrindus, yra tai, kiek jis jus išeina iš dėžutės stebėjimo ir išsaugojimo požiūriu. Labai lengva pradėti tęstinę paslaugą, kuri užtikrina patikimumą ir apkrovos paskirstymą tarp kelių egzempliorių ir kompiuterių.

Kita vertus, kaip ir formos paraiškos, kodų šablonai, kurie yra blogi, yra darbo eigos dizainas. Tačiau galite išvengti problemų, nes rašydami kodą į darbo eigą ir perduodami visus darbus kitoms klasėms, kurias modulis gali organizuoti ir patikrinti labiau nei darbo eiga. Tada jūs gausite vėsią vizualinį dizainerio aspektą be kritimo pagal spageti kodą.

23
19 сент. Atsakymą pateikė Tegan Mulholland 19 sep. 2008-09-19 21:10 '08 at 9:10 pm 2008-09-19 21:10

Asmeniškai aš neparduodu WF. Šis įrankis man nėra toks akivaizdus kaip kitos naujosios MS technologijos, tokios kaip WPF arba WCF.

Manau, kad ateityje WF bus daugiausiai naudojama verslo programose, bet aš neketinu jo naudoti, nes atrodo, kad tai nėra tinkama priemonė mano projektams.

11
19 сент. Rob Ringham atsakymas, pateiktas rugsėjo 19 d 2008-09-19 21:03 '08 at 9:03 pm 2008-09-19 21:03

Šiuo metu dirbusi kompanija sukūrė „Windows Workflow Foundation“ (WF) ir priežastis, dėl kurių jie nusprendė jį naudoti, buvo ta, kad taisyklės dažnai pasikeitė ir priverstų jas kompiliuoti skirtingus DLL. todėl jų sprendimas buvo nustatyti taisykles į duomenų bazę ir paskambinti iš jų. Taigi, jie gali keisti taisykles ir nekompiliuoti bei perskirstyti dll ir tt

6
30 марта '09 в 19:22 2009-03-30 19:22 atsakymą pateikė Pritesh, kovo 30 d. , 09:22, 2009-03-30 19:22

yra prijungti

„Windows“ darbo eiga

Btw, tai tiesiog vadinama WF dabar dienoms .. http://bloggingabout.net/blogs/erwyn/archive/2006/06/16/12522.aspx

5
19 сент. atsakymą pateikė Gulzar Nazim 19 sep. 2008-09-19 21:12 '08 9:12 val. 2008-09-19 21:12

„Windows“ darbo eigą vilioja nekoduojantys IT vadybininkai, BA ir tt, kaip ir „BizTalk“ pusbrolis, tačiau praktikoje vieneto testavimas, derinimas ir kodų aprėptis yra tik trys iš daugelio klaidų. Jūs galite įveikti kai kuriuos iš jų, bet jums reikia daug investuoti, kad pasiektumėte, tuo tarpu su paprastu kodu jūs tiesiog jį gausite. Jei tikrai turite ilgalaikį reikalavimą, jums tikriausiai reikia kažką sudėtingesnio. Girdėjau argumentą apie galimybę išleisti naujus „xaml“ failus į gamybą, nekompiliuojant DLL, bet sąžiningai, laikas, kai darbo srautai bus sunaudojami, gali būti geriau naudojamas siekiant pagerinti jūsų nuolatinę integraciją tiek, kiek sukauptos diegimo problemos nėra problemos.

5
15 авг. atsakymas, kurį pateikė Owain Glyndŵr 15 rug. 2014-08-15 08:58 '14 at 8:58 2014-08-15 08:58

Norėčiau jį naudoti bet kokioje aplinkoje, kur man reikia dirbti su darbo eiga, bet naudojant jį kartu su K2 ar net „SharePoint 2007“, platformos galia yra tikrai naudinga. Kuriant verslo programas su BI specialistu, rekomenduojama naudoti platformą, ir tai paprastai bus aktualu tik verslo procesų optimizavimui ir tobulinimui.

Dėl WF įrašo jis buvo sukurtas bendradarbiaujant su K2 kūrimo komanda, o naujasis K2 Blackpearl yra pastatytas ant WF, taip pat su Workflow MOSS 2007 ir WSS 3.0 mechanizmais.

2
21 сент. Atsakymas pateikiamas BinaryMisfit 21 Sep. 2008-09-21 21:13 '08 at 9:13 pm 2008-09-21 21:13

Jei nenorite rankiniu būdu įrašyti visų šių kodų, kad galėtumėte išlaikyti vizualinę sąsają, sekti ir išsaugoti, tai protingas pasirinkimas balsuojant už WF. Eik

1
15 апр. sparksustc atsakymas 15 Bal 2013-04-15 11:44 '13, 11:44, 2013-04-15 11:44

Kiti klausimai apie žymes arba Užduoti klausimą