2013-07-24 20 views
6

Ben sırayla giden bir iş akışına sahipKullanılacak iş akışı tasarım deseninin türü?

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

Ben az kod değişikliği ile beni aralarına bir devlet eklemesine izin tasarım deseni ihtiyaç .

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

bu tasarım deseni çalışır hangisi?

+0

Bu wikipedia sayfasından bir şey kullanmaktan çekiniyor musunuz yoksa genel çözümlerle ilgileniyor musunuz? –

+0

Genel bir çözümle ilgileniyorum .. wiki üzerindekiler sadece örnek – seesee

+0

ne tür bir iş akışına sahip olduğunuzu söyleyebilir misiniz? – Rakesh

cevap

8

Sen PVM veya sonuncu durumda bekliyor rağmen SCXML gibi statemachine uygulanması gibi süreçleri için Petri net implementions, Jacob gibi hesap esinlenen çerçeveler, sanal makineler içine bakmak olabilir değişir ve sonra bir şeyler yaparsınız, bu yüzden kontrol akışınızı veri akışına dönüştürmeniz gerekir.

Eğer bunu kendiniz uygulamak istiyorsanız, bir sonraki düğümü çağırmak yerine kontrolü bir çalışma zamanı denetleyicisine geri verdiğinizden emin olmalısınız, çünkü bu yığınınızı üfler. Bu çalışma zamanı denetleyicisi aynı zamanda bir etkinlik nesnesini etkinlik çalışma değişkenlerine enjekte edebilir ve bu şekilde etkinlikleri etkinlikler arasında paylaşabilirsiniz. Lütfen aşağıdaki sahte kod olarak kaba bir taslak bulabilirsiniz:

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

activiti'u deneyebilirsiniz. Ayrıca kullanarak kendi iş akışı tasarlayabilirsiniz eclipse plugin

+0

Başka bir API kullanmak istemiyorum. Sadece basit bir ürün ... – seesee