业务逻辑层分成三个部分,如下图:
 (图3)
基础:
1. 业务实体由实体集和实体组成,这些来自数据访问逻辑层。
2. 业务规则定义了对业务实体内部关系,以及业务实体间的关系。 1.业务实体内部关系:(除非只有一个规则,否则)可以采用职责链模式。(这样可以避免过多的条件判断。) 2.业务实体外部关系: 2.1 非强制一对多:可以采用职责链模式。(这样可以避免过多的条件判断。) 2.2 强制一对多:采用observer观察者模式。 2.3 多对一:可以采用mediator中介者模式。
3. 业务外观把业务实体和业务规则统一起来。
中级:
1. 考虑一个业务规则,其有严格的限制,联系到多个业务对象,同时其关系成网状,例如:一个实体的方法实现必须满足多个实体的状态值,大量的条件判断不可避免。当系统复杂性提高时,网状的关系将不可避免。此时采用以上简单的方法不能满足要求。这时采用扩展有限状态机来实现将可以解决问题。 2. 业务外观层联系实体和规则,当业务的流程性很强时可以采用工作流技术。同时无论是否采用工作流技术,但系统复杂性提高时,应该采用扩展有限状态机来做控制系统。
高级:
1. 业务规则和业务外观的外在本质上是一个控制系统。业务规则实现状态的转换,而业务外观委派状态的行为。 在业务规则层采用传统方法设计,将不可避免得造成如下之一的情况:1. 控制器庞大而条件判断过多; 2. 产生多个控制系统;3. 多态后系统控制系统之间继续关联关系复杂。造成控制系统维护的困难性提高。 而解决方案就是: 有限状态机。作为一个严格的数学模型,其在状态转换的控制上有明显的优势。 2. 业务逻辑的内在本质上只是一个抽象——解决计算方法、约束条件、转换状态三个问题的控制系统的抽象 |