要使用的工作流程设计模式的类型?

我有一个按顺序进行的工作流程

A – > B – > C – > D – > E.

我需要一种设计模式,允许我在它们之间添加一个状态,代码更改最少。

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

以下哪种设计模式有效?

您可以查看petri网实现,像Jacob这样的微积分框架,像PVM这样的进程的虚拟机或像SCXML这样的状态机实现,尽管后者正在等待状态更改然后做某事,所以你需要改变你的控制流入数据流。

如果你想自己实现它,你需要确保将控制权交还给某个运行时控制器,而不是仅仅调用下一个节点,因为这会破坏你的堆栈。 此运行时控制器还可以将上下文对象注入活动runnables,这样您就可以在活动之间共享状态。 请在下面找到粗略的草图:

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); } 

你可以试试activiti 。 您还可以使用eclipse插件设计自己的工作流程