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