设计和构建 Java 企业应用程序
1. 企业项目结构现状
在企业项目中,典型的项目结构传统上采用三层架构。这三层指的是基于技术划分的层次,分别为表示层、业务层和数据层。项目按水平方向组织,分别有三个子模块或包。
1.1 分层目的
- 关注点分离 :将数据层、业务层和表示层的关注点分开。下层功能不能依赖上层功能,只能上层依赖下层。例如,业务层不能使用表示层的功能,数据层不依赖业务层。
- 可替换性 :能够在不影响其他层的情况下更换实现细节。比如更改数据库技术或表示层技术,理论上不会影响其他层,因为各层封装了自身的细节。甚至可以开发多个表示层,它们都使用相同的业务层组件。
1.2 水平分层的缺点
虽然按技术关注点组织和分离职责有其必要性,但也存在一些缺点。在较高抽象层按技术关注点进行结构设计时,软件的目的和领域会被模糊并隐藏在较低抽象层。不熟悉项目的人查看代码结构时,首先看到的是三个技术层,这虽然熟悉,但无法了解实际业务领域。
2. 水平分层与垂直分层对比
2.1 开发者关注点
软件工程师更希望理解领域模块,而非技术层。例如,处理账户功能时,开发者关注的是与账户领域相关的所有内容,而不是一次性查看所有数据库访问类。系统功能变更时,更可能影响单个或几个业务领域的所有技术层,而非单个技术层的所有类。
2.2 示例说明
以家庭整理衣服为例,若将所有家庭成员的裤子放在一个抽屉,袜子和衬衫分别放在不同抽屉,家庭成员穿
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



