gop随笔知识介绍
全写为graph oriented programming,如果类似oop的译法,可以译为面想图形编程,不知道对不对,以下姑且还是按缩写gop进行讨论。
DSL(Domain Specific language)基本划分或者说包括为3大块的内容:config相关的东东、gop、还有就是我们常提到的java和其他语言了(没有扩充,只是本身自有的)。
Gop主要都包括哪些呢?
如果看过jbpm,那里的jpdl算是一种了,还有就是bpel,pageflow这些。我想如果想osworkflow如果也给自己的fsm那部分抽取出来取个名字,叫***l。那么它也可以算一个了。Xpdl是吗?我想也是吧。Graph based最重,以此为理念,就可以想到好多,而graph可以包括fsm/active/petri net基本以这三种图为主流。
对于gop的实现技术包括3种:based on runtime interpretation of a graph、message queues or code generation。Runtime interpretation 是最为普遍的
以最简单的例子理解比较复杂的理论,不失为一个捷径。
四个类:
Node:节点,要有状态
Action:我们需要做什么,或者把它理解为我们需要实现的,即gop内部关心如何流转,而与业务相关的东西,可以包装在这里。
Transition:节点与节点之间的变迁
Execution:一次执行体
另外需要说一下的Transition是需要event来进行触发的。
代码可以在http://docs.jboss.com/jbpm/gop/jbpm.gop.zip下载。
本文地址:http://www.45fan.com/bcdm/69857.html