【三层】为什么要分三层?
初步的了解三层,结合PPT看了王继彬老师视频,查看了师哥师姐的一些博客,在这
里自己做一个初步的小结,为啥要分三层架构呢?
一、怎么分层?
我们平时硬件物理一般划分为二层:
逻辑划分三层:
我们常用的划分法:
1、物理划分:显示层、业务层、数据层
2、逻辑划分:UI BLL +DAL DB
但我们设计中主要讨论是逻辑划分的:
(1):UI(user Interface)业务逻辑层 :主要是针对具体的问题怎么操作,也
可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就
是对这些积木的搭建问题。
(2):BLL(Business Logic Layer)用户表示层:表示WEB、界面方式,主要是用于
用户接口的展示,以及用业务层的类和对象来“驱动”这些接口。
(3):DAL (Date Access Layer)数据层:就是对原始数据(数据库或者文本文件等
存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是
数据库,更好的为业务逻辑层或表示层提供数据服务.
二、为什么分三层,什么情况使用?
这可要根据不同的情况来分析:
1)不需要分层情况:业务逻辑简单;没有真正的数据存储层。
2)需要分层:在较大的程序中;要抽象出业务逻辑层
数据多时,主要是为了高内聚、低耦合!为了方便用户需要!
好处:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
不足:
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接
造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需
要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据
访问层中都增加相应的代码。
小结:
总的来说,分层还是不分层应具体的根据具体的情况,对于小程序,没有多少真正
的数据库是没有必要进行分层;然而我们现实的生活中大都都是大数据,用的都是较大
的程序和软件,有了三层架构就能更好实现“高内聚、低耦合”为了更好的方便用户需
要,进行三层架构的设计是必须的,这不仅方便程序员、开发人员,还方便用户的使
用,也更能贴近全心全意为人民服务的宗旨!