0

这是我在这里的第一个问题,所以如果需要其他信息,请告诉我......

我是设计新手,所以我的知识有点有限,所以我有这个应用程序,其中我有一个项目类,项目经历了 7 个阶段,这些阶段没有共同点……第一个是 Discovery,其中包含关于需求的问题,第二个是产品映射,它让用户选择项目所需的产品......

问题来了,阶段不断被添加或删除......

所以我不能把他们的参考放在课堂上,因为我每次都需要修改课堂。那么如何设计流程呢?

我应该将项目对象传递给舞台对象吗?那么如何跟踪项目处于哪个阶段呢?

4

2 回答 2

0

我认为您应该选择Process Manager Pattern

您的每个阶段都应该是实现通用接口/抽象类的单独类(根据您的需要),然后您需要有一个控制器类来控制项目的工作流程。您可以根据需要向此 Controller 类实例添加或删除您的步骤。

于 2013-10-03T04:16:29.587 回答
0

您可以跟踪项目的“状态”,Project.statusenum通过适当的阶段。(这假设每个阶段只存在一次;它可以重新执行,但会更新/覆盖以前的结果。)

在每个阶段捕获的数据可以实现为 Project 类中的属性(最简单),或者(更高级)“下推”到每个阶段的复合实体中。

不要忘记利用实体/对象来保存需求、产品映射等信息!

于 2013-10-03T04:57:32.180 回答