繁体   English   中英

如何在对象内实现工作流程

[英]How to implement workflow within an object

我有一个对象,表示存储在关系数据库(O / R映射)中的某些文档。 该文档具有一个状态字段,用于标识其状态。 每个状态(即输入,等待批准,发送,付款等)都带有其自己的验证规则和要求。

我想知道这种工作流程的正确的OO实现是什么。 最简单的方法是放置一堆if语句,例如

if(状态==某些||状态==其他)检查日期是否可以更改();

但是在复杂的情况下,这变得非常难以阅读。

对好的设计的建议?

看看Strategy Pattern 对于每种可能的状态,您将创建一个类来实现要执行的步骤。

也许您想将其与一个Factory结合使用,该Factory根据从数据库读取文件的状态来构建正确的策略对象。

我认为您需要查看Windows Workflow Foundation 它是.NET的一部分,使您能够相对轻松地创建工作流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM