三层架构的整理
文章目录
- 什么是三层
- 分层原则
- 封装性原则
- 顺序访问原则
- 为什么要使用三层
- 三层的优点
- 三层的缺点
- 总结
- 分层的特点
- 分层开发的优势
前言
生活中的三层:
各司其职,各尽其责.
一、什么是三层
表示层(UI): 主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。
业务逻辑层(BLL): UI层和DAL层之间的桥梁。实现业务逻辑。
数据访问层(DAL): 与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户)
二、分层原则
封装性原则
1.每个层次向外公开接口,但是隐藏内部细节
2.钥匙开锁,只知道锁提供的接口,但不知道锁的内部细节.
顺序访问原则
1.下一层为上一层服务,但不使用上层的服务
2.盖楼时需要先打地基,地基为上层建筑服务,但不使用上层的服务
总结
分层结构中,不同层次之间通过实体类传输数据
三.为什么要使用三层
目的很简单,实现 ”高内聚,低耦合“。
内聚:一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。
耦合:一个完整的系统,模块与模块之间,尽可能的使其独立存在,也就是说,让每个模块,尽可能的独立完成某个特定的子功能,模块与模块之间的接口,尽量少而简单,如果某两个模块间的关系比较复杂的话,最好首先进行模块划分,有利于修改和组合。
三层的优点:
-
1,结构清晰、耦合度低
-
2,可维护性高,可扩展性高
-
3,利于开发任务同步进行, 容易适应需求变化
三层的缺点:
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码
3、增加了代码量,增加了工作量
总结
分层特点
1.每一层都有自己的职责
2.上一层不用关心下一层的实现细节,上一层通过下一层提供的对外接口来使用其功能
3.上一层调用下一层的功能,下一层不能调用上一层功能
分层开发的优势
1.代码复用
2.分离开发人员的关注
3.无损替换
4.降低了系统间的依赖