三层架构

简介

        三层架构是从整个业务应用角度对程序的划分,其分层逻辑来源于“高内聚低耦合”的思想。三层分别为:表现层,业务逻辑层,数据访问层(持久化层)。

  1. 内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
  2. 耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

各层解析

  1. 表现层:用户看到的界面,作用就是接收用户提交的请求数据,反馈程序的响应数据给用户。目的提供可交互的操作界面。
  2. 业务逻辑层:“具体问题,具体分析”。不同请求做出不同响应。对数据层的一中整合方式。
  3. 数据访问层:提供对数据库操作的多种途径。

三层特点

  1. 优点:
  2. 解耦。上层只依赖下一层,便于发现和修改BUG。
  3. 简化复杂问题:各层分工明确,将复杂问题简化了。
  4. 逻辑复用:业务接口没变,业务层和数据层能直接用。
  5. 便于开发:各层接口在开发前规定好,可以独立开发。
  6. 方便部署:将各层开发成组件,则可以独立部署。
  7. 缺点
  8. 降低系统性能。不采用分层结构,可以直接造访数据库,获取数据。现在必须通过中间层来完成。
  9. 导致级联的修改。在表现层增加一个功能,需要在业务和数据层都增加相应的代码。

四层架构

四层架构有两种方式。

第一种形式:

Java 层次结构 工程 java层级结构_表现层

该架构比三层多了一个系统服务层:提供公共的服务性代码,供各个操作层使用。

第二种方式:

Java 层次结构 工程 java层级结构_Java 层次结构 工程_02

五层架构

本质上五层架构并没有比上述架构有太大差别,只是进一步细化了。

  1. 用户界面层:即网页,用户能实实在在看得到的,能进行操作的界面;
  2. 控制层:控制用户界面层和业务逻辑层进行数据交互,
  3. 业务逻辑层:针对具体问题的操作,对业务逻辑的处理;
  4. 数据持久层:控制事务,直接操作数据库,对数据进行CRUD操作(即数据的增、删、改、查),即Hibernate或MyBatis负责与数据库的通信;
  5. 系统服务层:即提供公共的服务性功能,供各个操作层使用。

Java 层次结构 工程 java层级结构_内聚性_03