流程这东西适合作领域实体吗?

10-01-26 freeren
    

最近开发的一个项目,是有流程的,于是设计人员把流程设计成一个实体并做为领域对象来操作,个人觉得这样做是很不合理的:

1、流程实体并不是体现业务的对象;

2、流程应该是贯穿于整个业务过程的不同状态阶段。

但是设计人员给的答案是,如果不设计成实体就体现不出业务,而且这个流程是灵活的,需要经常性地去访问来决定下一步要做什么。我觉得这样还是不合理,不知道各位怎么看这个问题,有没有理好的建议?谢谢!

    

1
banq
2010-01-27 09:32

流程不适合设计为实体,因为流程本身是变化的,而你使用对象实体表达,其实就封装了,所以,可以把流程中状态进行封装,表达为实体,这其实类似用例分析中状态图和活动图。

将流程中涉及到可以封装的实体进行建模,对外通过服务暴露,通过服务之间跳转实现需求流程的实现,这个其实是SOA思路。

当前scala等面向functional语言提供对流程算法进行建模的方法,如果有些流程不能进行切分,找不出进行切分的实体,那么就将流程本身作为一种算法建模,这也是一种新思路。

参考DCI架构是什么?

freeren
2010-01-27 14:12

2010年01月27日 09:32 "banq"的内容
将流程中涉及到可以封装的实体进行建模,对外通过服务暴露,通过服务之间跳转实现需求流程的实现,这个其实是SOA思路。

正有此意,我也发现了好多操作中都会存在着记录流程状态的代码!