当用分层的观点来考虑系统时,可以将各个子系统想象成按照“多层蛋糕”的形式来组织。每一层都依托在其下层之上。在这种组织方式下,上层使用了下层的各种服务,而下层对上层一无所知。另外,每一层对自己的上层隐藏其下层的细节。(当然,并非所有的分层架构都这么隔绝,但绝大多数时不透明的,或至少是几乎不透明的)
分层的特点也是重点是下层对上层一无所知,每一层对自己的上层隐藏了其下层的细节
1.2 三个基本层次
本书主要就三个基本层次的架构展开讨论:表现层、领域层和数据源层
表现逻辑处理用户与软件的交互。表现层的主要职责是向用户显示信息并把从用户那里获取的信息解释成领域层或数据源层的各种动作。
数据源逻辑主要关注与其他系统的交互,这些系统将代表系统完成相关任务。对于大多数企业应用来说,最主要的数据源逻辑就是数据库,它的主要责任是存储持久数据。
最后一部分是领域逻辑,也称为业务逻辑,它就是应用必须做的所有领域相关的工作:包括根据输入数据或已有数据进行计算,对从表现层输入的数据进行验证,以及根据从表现层接受的命令来确定应该调度哪些数据源逻辑。
1.3 为各层选择运行环境
以下因素被Jens Coldewey称为复杂增压器(complexity bosster):分布、显示多线程。范型差异(例如对象/关系),多平台开发以及极限性能要求(每秒钟100个事务以上)。所有这些因素都会带来很大的代价。当然,有时我们无法回避它们,但是要切记:这里罗列的每一项都会为开发和运行维护阶段带来开销。