一、上章回顾
上章我们主要讲述了系统设计规范与原则中的具体原则与规范及如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式。并且我们也讲述了该如何通过设计手段去分析功能点及设计分离点,应该如何在设计的过程中分析的角度及如何去满足设计规范与原则。首先我们通过下图来回顾下上章要点:
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/6F122035919.png" />
二、摘要
本文将已架构的方式去分析分层结构中的业务层的设计,如何写出来内聚度,高耦合的业务逻辑层,并且如何根据我们的项目中的个功能需要去设计业务层。我们本章将会通过几种可能的业务层的设计模式去分析,并且分析每种设计模式的优点与缺点及每种设计模式的应用场景,并且结合一定的使用实例来讲解,当然这些具体的内容都是自己在项目中的经验与总结。错误之处,在所难免,本人抱着求真务实的态度,争取写好每一篇文章,错误之处还请大家匹配之处,如果您有好的意见或建议,可以及时跟我沟通,如果对系统架构中的设计规范与模式不了解,可以点击这里查看上篇文章:系统架构师-基础到企业应用架构-系统设计规范与原则[下篇]
本章讲解的内容我们先看下图中的几个简单模式:
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/94122036975.png" />
三、本章大纲
1、上章回顾。
2、摘要。
3、本章大纲。
4、业务层设计分析。
5、几种不同的业务设计模式。
6、本章总结。
7、系列进度。
8、下篇预告。
四、业务层设计分析
本节中将会对业务层的设计进行详细的分析。
首先、我们知道业务层是一个系统中最核心的部分,业务层是实现系统业务功能的核心逻辑层。业务层我们通常说的BLL(Business Logic Layer)层,现在我们一般的稍微复杂一些的业务逻辑都是通过分层结构来构建一个应用系统,我想大家在组织业务逻辑功能时大部分的情况下是使用BLL层单独负责相应的业务逻辑来实现的。有些应用可能业务逻辑层并不复杂,这是我们可以把问题简单化,不用引入一些框架性的东西来提升系统的复杂度,但是有些业务规模较大,并且业务逻辑性较强时,可能使用好的业务设计模式带来的优越性就显而易见了。 我们大家都知道业务逻辑层主要是用来处理领域模型对象之间的逻辑关系的部分。我们都知道业务层的数据最终是要保存到数据库中,我们在进行业务层设计时一般是在架构中的分层架构模式中出现的。我们知道分层结构中一般是将领域模型与底层数据访问、表现层等进行分开组织,这样可以让系统结构上清晰,并且容易降低他们之间的耦合性。
其次、其实我们的很多操作都是可以在业务层来完成,比如说用户的角色权限,数据验证等一些基本的业务规则。当然这里说明业务层主要负责系统中的业务规则的实现。这里我们需要知道2个概念,就是对象模型与领域模型:下面我们说下这2者的区别。
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/D8122036440.png" />
描述对象模型与领域模型的区别。
最后、业务逻辑层作为分层系统中的中间位置,业务模型是表现层与数据层之间的纽带。当然一般我们在系统设计时,可能我们一般不会把领域模型中的领域实体作为分层之间的传输信息,因为一般来说领域模型中的实体不但包含实体的数据信息,并且包含实体的行为。可能我们在各层中只会用到实体的数据信息,那么无疑这时采用领域实体的形式进行传输,那么会增加系统的传输负载。当然这里就会出现我们平时所谓的3层模