我正在从事一个项目,该项目负责创建一个“工作”,该工作由一个或多个“任务”组成,这些任务通过DAL持久化到数据库中。作业和任务列由根据业务规则设置的值组成。
由于业务规则规定该类需要访问我们系统中的许多数据库来决定是否可以创建作业和/或应如何设置作业,因此该类(现在存在)变得越来越复杂和笨拙。
为了进一步使事情复杂化,有必要提交作业列表,并且需要以多种方式(作为引用程序集,通过Windows服务或通过Web服务)对其进行调用。
这是它做事的一些例子:
生成工作成本估算
接受分配工作的帐户和/或用户
发出事件以进行作业提交进度跟踪
合并来自外部用户定义列表(.csv,.xls等)的数据
将文件从本地驱动器复制到网络可访问的驱动器(如有必要)
我的问题是:有什么最佳实践或设计模式可使其尽可能地易于管理和简化?
最佳答案
似乎需要重构类,因为它似乎违反了Single Responsibility Principle。我建议上面的每个要点都有其单独的实现类。这样,您将实现facade pattern,其中您的主类表示系统正在执行的高级抽象。
关于c# - 用于处理许多参数和业务规则的设计模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3805836/