三层结构与七层结构总结

在进入三层的学习中,让我了解了不仅仅只有三层,还有七层的存在,于是我就查阅相关资料后知道了七层其实是在三层的基础上衍生出来的,那么三层结构包含些什么呢,七层结构在在三层结构的基础上又衍生出什么呢,话不多说,请看下图:在这里插入图片描述
由此我们能够发现,三层结构主要有:界面层,即表示层(UI层)、业务层,即业务逻辑层(BLL层),数据访问层(DAL层)组成。它们之间的主要作用为:
表示层:通俗而言就是展现给用户的界面,即用户在使用一个系统时候他的所见所得,也就是表示层就是用户最直观,可见的界面。
业务逻辑层:针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
数据访问层:该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。
而七层在这基础上又更加细分了,他把表示层分为了外观层和规则层,把业务逻辑层分为接口层、业务逻辑层、实体层。而把数据访问层分为数据访问层和数据存储层。
那么这七层每一层的作用又是什么呢?我们接着往下看:
外观层:提供了与用户交互的界面。
规则层:根据用户指令调用业务接口层相应接口,并将数据传递给业务层。
业务接口层:提供给表示层指令接口,并将指令操作结果返回。
业务逻辑层:根据用户指令和数据的不同,将该指令划分给不同的构造器处理,并构造出实体。
实体层:抽象出的数据库对象,如表实体,视图实体,存储过程实体等。
数据访问层:具体操作数据库,如连接、查询、插入、更新、删除等。
数据存储层:即数据库层,主要包括数据库里的表,视图,存储过程,触发器等数据库对象。

相关规则:
1、系统各层次即层内部子层次之间不得跨调用。
2、Entity object在各个层之间传递数据。
3、需要在UI层绑定到列表的数据采用基于关系的DataSet传递,除此之外,应该使用Entity object传递数据。
4、对于每个数据库表(Table)都有一个DB Entity class与之对应,针对每个Entity class都会有一个BEM Class来提供支持。
5、有些跨数据库或者跨表的操作(如复杂的联合查询)也需要由相应的BEM Class来提供支持。
6、对于相对简单的系统,可以考虑将Business Function子层和Business Flow子层合并为一个。
7、UI层和BLL层禁止出现任何SQL语句。

小结:
在软件体系设计中,分层式结构是最常见的,也是最重要的一种结构。所以,分层式设计可以达到如下目的:分散关注、松散耦合、逻辑复用、标准定义。一个好的分层式结构,可以使得开发人员的分工明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。虽然依然有不可避免的缺点,但是软件分层结构使得代码维护非常方面,设计明确,各层独立。

猜你喜欢

转载自blog.csdn.net/weixin_48850992/article/details/107423679