2013-07-24 23 views
6

Mam przepływ pracy, który idzie w sekwencjiTyp wzoru projektu przepływu pracy do użycia?

A -> B -> C -> D -> E

muszę mieć wzór, który pozwoli mi dodać stan, w między nimi najmniejszej zmiany kodu .

http://en.wikipedia.org/wiki/Workflow_patterns

Który z nich działa wzorzec projektowania?

+0

Czy jesteś zmuszony użyć czegoś z tej strony wikipedii lub jesteś zainteresowany ogólnymi rozwiązaniami? –

+0

Jestem zainteresowany ogólnym rozwiązaniem .. te na wiki to tylko przykład – seesee

+0

czy możesz powiedzieć, jaki rodzaj przepływu pracy już masz? – Rakesh

Odpowiedz

8

Można zajrzeć do implementions Petri-netto, rachunek inspirowane ram jak Jacob maszyny wirtualne dla procesów takich jak PVM lub realizacji Statemachine jak SCXML choć ten ostatni czeka na państwa zmienia, a następnie robi coś, więc musisz zmienić sposób sterowania przepływem danych.

Jeśli chcesz zaimplementować to samodzielnie, musisz upewnić się, że zwrócisz kontrolę do kontrolera runtime, zamiast tylko wywoływać następny węzeł, ponieważ spowodowałoby to zniszczenie twojego stosu. Ten kontroler środowiska wykonawczego może także wstawić obiekt kontekstu do runnables działań i w ten sposób można współdzielić stan między czynnościami. Poniższy pseudo kod znajduje się poniżej:

interface Activity { 
    Activity run(SharedContext context); 
} 

class A implements Activity { 
    public Activity run(SharedContext context) { 
     doA(context); 
     return new B(); 
    } 
} 

class B implements Activity { 
    public Activity run(SharedContext context) { 
     doB(context); 
     return new C(); 
    } 
} 

// runtime controller 
SharedContext context = new SharedContext(); 
Activity next = new A(); 

while (next != null) { 
    next = next.run(context); 
} 
2

Możesz spróbować activiti. Można również zaprojektować własny obieg za pomocą eclipse plugin

+0

Nie należy używać żadnego innego interfejsu API. To tylko prosty produkt ... – seesee

Powiązane problemy