第一章:分层
作用:分解复杂的软件系统
优点:1、降低复杂度,上层不需要关注下层细节。
2、提高灵活性,可以灵活替换某层的实现。
3、减小耦合度,将层次间的依赖减到最低。
4、有利于重用,同一层次可以有多种用途。
5、有利于标准化。
缺点:1、不能封装所有工作,可能会带来及联修改。
2、过多层次影响性能。
难点:1、如何划分层次。
2、定义层次职责。
分层演化过程:
单层架构-->两层架构-->三层架构-->N层架构
单层架构:早期批处理系统
两层架构:C/S 客户/服务器模式
特点:没有复杂的领域逻辑
优点:有非常好的工具支持,VB、Delphi、PowerBuilder
缺点:代码冗余,难于维护。
模式:1、领域逻辑写在客户端
2、领域逻辑写在数据库(存储过程)
面向对象技术、WEB兴起、Java出现共同推进了三层架构。
Layer与Tier的区别:
1、Tier强调物理上的分离,Two Tier System。
2、Layer强调逻辑上的分层。
三层架构:表现层-领域层-数据源层(持久层)
1、表现层:提供服务,显示信息。
2、领域层:系统核心逻辑。
3、数据源层:与数据库、消息系统以及其他软件包通信