目前常用的三层构架即:表示层、业务层和数据访问层。
(图片来源于网络)
一、概述
1、表示层:提供用户交互的界面。GUI和Web页面是表示层最典型的两个例子。
2、业务层:也称之为业务逻辑层,用于实现各种业务逻辑。如处理数据验证,根据特定的业务规则和任务来响应特定的行为。
3、数据访问层:也称之为数据持久层,负责存放和管理应用的持久性业务数据。
二、分层架构应遵循的原则
(1)每个层的代码必须包含可以单独维护的单独文件;
(2)每个层只能包含属于该层的代码。因此,业务逻辑只能驻留在业务层,表示层只能在表示层,而数据访问逻辑也只能驻留在数据访问层中。
(3)表示层只能接收来自外部代理的请求,并向外部代理返回响应。
(4)表示层只能向业务层发送请求,并从业务层接收响应。它不能直接访问数据或数据访问层。
(5)业务层只能接收来自表示层的请求,并返回对表示层的响应。
(6)业务层只能向数据层发送请求,并从其接收响应。它不能直接访问数据库。
(7)数据访问层只能从业务层接收请求并返回响应。它不能发出请求到除了它支持的数据管理系统(DBMS)以外的任何地方。
(8)每层完全不知道其它层的内部工作原理。例如,业务层可以对数据库一无所知,并且可以不知道或不必关心数据访问对象的内部工作原理,它必须是和表示层无关的,可以不知道或是不必关心表示层是如何处理它的数据的。表示层可以获取数据并构造HTML文档、PDF文档、CSV文件或以某种其它方式处理它,但是这应该与业务层完全无关。
(9)每层应当可以用具有类似特征的替代组件来交换这个层,使得整体可以继续工作。
三、三层架构图
表示层
|_______ Controller
|_______ View
业务层
|_______ Enity
|_______ VO
数据访问层
|_______ Dao
|_______ Repository
参考资料《Spring Boot 企业级应用开发实战》