为什么要使用三层?
分层的目的即为了“高内聚,低耦合”的思想。
内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。换句话说,所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一职责原则。
耦合,也就是块间联系,指软件结构中各模块间互连紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息,对于低耦合换句话说一个完整的系统,模块与模块之间,尽可能的使其独立存在,也就是说,让每个模块,尽可能的独立完成某个特定的子功能,模块与模块之间的接口,尽量少而简单。
高内聚低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。
三层是什么?
三层架构通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
![](https://img-my.csdn.net/uploads/201304/24/1366790516_1380.png)
表示层
通俗讲就是展示给用户的界面,即用户在使用一个系统的时候他的所见所得。位于最外层(最上层),离用户最近。对用户的请求接收,以及数据的返回,为客户端提供应用程度的访问,或者说用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
业务逻辑层
系统主要功能和业务逻辑都在业务逻辑层进行处理。是系统架构中体现核心价值的部分,关注点主要集中在工作业务规则的制定、业务流程的实现、数据访问、合法校验等与业务需求有关的系统设计。
具体内容包括用于做一些有效验证的工作,以更好的保证程序运行的健壮性。如完成数据添加、修改和查询业务等;不允许指定的文本框中输入空字符串,数据格式是否正确以及数据类型验证;用户权限的合法性判断等;通过以上的诸多判断以绝对是否将操作继续向后传递,尽量保证程序的正常运行。
业务逻辑层除了对数据层的操作外,还包括对数据层的操作,对数据业务逻辑处理。可以说业务逻辑层扮演里两个不同的角色,对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。
数据层
主要对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务,简单的说就是实现对数据表的增、删、改、查等操作。