首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分阶段业务流程建模

分阶段业务流程建模
EN

Software Engineering用户
提问于 2014-02-19 07:12:47
回答 1查看 92关注 0票数 1

想象

给定一个project业务对象和类似(简化的)规则:

  • 它的生命周期分为几个stages of evaluation
  • 各阶段的流程线性化,并表示一个评价链;
  • 每个阶段都提供了自己的reward value/algorithm;
  • 项目的推广由其他用户的决定控制;
  • 最终的奖励被分配给项目的发起者。

可能太天真了)

我想到的第一个想法是使用decorator pattern;由于它的结构,它看起来有点适用。但是,如果您需要持久化项目的当前“修饰”state提供的其他详细信息,该怎么办?

我需要在每个阶段都有额外的行为

我遇到了一篇关于jBPM的文章。我相信它和WF有很多共同点。它当然拥有最需要的东西,同时它拥有(过度消耗)庞大的基础设施。

但是,它在设计时能不包含这么多的复杂性吗?

你有什么建议?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2014-02-19 07:31:08

当我看到跨越时间的“过程”时,我通常会想到“状态机”。但是,您的需求之一表示该过程是线性的,因此状态机可能会过度使用。

听起来很明显,您有一个通用的界面来描述Stage,它的功能包括奖励(),以及一个“有一个”阶段的顶级项目。

我假设项目运行时间较长,因此您需要能够在项目事件之间保存项目状态。所以项目必须是可持续的,包括它所处的阶段。

一开始,我就看到了一个Project类、Stage接口和Stage的具体实现。然后可能是一个StageId枚举,以便于保持这些阶段。

(了解我,我可能也会在映射中定义转换,并实现一个非常非常简单的状态机。但是,您所拥有的简单的线性状态机只需使用if...thens来保持它的轻便性。)

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/229492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档