1. 设计思想: 高内聚,低耦合。

2. 优点

  1. 结构明确,开发人员只需关注其中某一层即可;
  2. 降低层与层之间的依赖,即低耦合性;
  3. 可以方便快捷地用新的实现替换原有的层次实现;
  4. 后期维护时,降低维护成本和维护时间;

3. 缺点

  1. 降低系统性能。如果不采用分层架构,用户可以直接造访数据库。现在需要通过中间层实现,增加了时间,降低了性能。
  2. 可能会导致级联的修改。例如在表示层中增加某个功能,为保证设计符合分层式架构,可能在业务逻辑层和数据访问层都增加相应的代码。
  3. 增加开发成本。

4. 三层架构划分解析

三层架构是从逻辑上进行划分,不是物理上的三层架构。不是简单放置三台机器就是三层架构体系,也不是B/S应用才是三层架构体系。逻辑上三层,即该三层架构可以布置在一台机器上。

  • 显示层(User Interface Layer) UIL

通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。显示层可以采集用户输入的信息和操作,并向用户展现特定业务数据。

  • 业务逻辑层(Business Logic Layer)BLL

针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。该层负责从UI中获取用户指令和数据,执行业务逻辑,并通过DAL写入数据源,还可以从DAL中获取数据,将结果返回给UI。

  • 数据访问层(Data Access Layer)DAL

该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。用来从数据源加载数据,也就是查找数据,数据源包括数据库、XML文件、文本文件等;向数据源写入数据或删除数据。简单的总结一下就是数据库中的增删改查。

引用

1) JavaEE 三层架构的浅谈: ​

2) 菜鸟眼中的三层架构: ​