我正在创建一个负责创建“作业”的项目,该作业由一个或多个通过DAL持久保存到数据库的“任务”组成。作业和任务列由根据业务规则设置的值组成。处理许多参数和业务规则的设计模式
这个类现在变得越来越复杂和笨拙,因为业务规则规定它需要访问整个系统中的许多数据库来决定是否可以创建作业和/或应该如何创建作业。
为了进一步复杂化,需要提交一份作业列表,并且需要以各种方式(作为引用程序集,通过Windows服务或通过Web服务)进行调用。
下面是它做的事情的一些例子:
- 生成作业成本估计
- 采取的帐户和/或用户到该工作分配
- 发出事件的作业提交进步来自外部,用户自定义列表跟踪数据
- 合并(的.csv,.xls的,等。)
- 从本地驱动器可访问网络驱动器复制文件(如有必要)
我的问题是:什么是最佳实践或设计模式,使其尽可能易管理和简单?
我同意目前的实施严重违反单一责任原则。为作业提交的每个方面创建立面肯定会有所帮助。 – AceJordin 2010-09-27 17:06:47