这是我的第一个问题,请告诉我是否需要其他信息......
我是设计新手所以我的知识有点受限,所以我有这个应用程序,我有一个项目类,项目经历了7个阶段,这些阶段没有任何共同点......第一个是Discovery ,其中包含有关要求的问题,其次是产品映射,它允许用户选择项目所需的产品......
问题来了,各阶段不断被添加或删除......
所以我不能把它们的引用放在课堂上,因为我每次都需要修改它。那么如何设计流程呢?
我应该将项目对象传递给舞台对象吗?那么如何跟踪项目的哪个阶段?
答案 0 :(得分:0)
我认为您应该选择 Process Manager Pattern 。
每个阶段都应该是实现公共接口/抽象类的独立类(根据您的需要),然后您需要有一个控制项目工作流程的Controller类。您可以根据需要在此Controller类实例中添加或删除步骤。
答案 1 :(得分:0)
您可以将项目的“状态”跟踪为Project.status
,作为enum
进展到适当的阶段。 (这假设每个阶段只存在一次;它可以重新执行,但会更新/覆盖以前的结果。)
在每个阶段捕获的数据可以实现为Project类中的属性(最简单),或者(更高级)“按下”到每个阶段的复合实体。
不要忘记利用实体/对象来保存需求,产品映射等信息!