分层模式
分层模式(Layered)是一种常用的架构模式
分层架构是运用最为广泛的架构模式,几乎每个软件系统都需要通过层(Layer)来隔离不同的关注点(Concern Point),以此应对不同需求的变化,使得这种变化可以独立进行
单一职责原则,是系统设计开发重要的原则,分层架构就时时遵循单一职责原则,不同的层次相互隔离、承担不同的职责
它允许不同的层之间相互独立,只需要定义一个接口,从而实现高内聚和低耦合
这种架构模式也可以帮助我们更轻松地更新应用程序,而不用改变整个系统
使用场景:
- 一般的桌面应用
- 电子商务网络应用
说起分层架构,最让人熟知的就是经典的三层架构
经典三层架构自顶向下由用户界面层(User Interface Layer)、业务逻辑层(Business Logic Layer)与数据访问层(Data Access Layer)组成,三层架构是简单 Client-Server 架构的升级
三层架构的经典和流行,以及大量 Web 后台框架对三层架构的靠近,使得 Web 后台开发简单到一个刚刚入门的开发人员就可以进行 web 开发,也正因为此,使得大部分 web 开发人员的思维受限于此,从而成为人人调侃的 CRUD-Boy
除去经典的三层架构,在领域驱动设计中,Eric Evans 设计了一种经典的四层架构,其在用户界面层与业务逻辑层之间引入了新的一层,即应用层(Application Layer),其余几层也相应的有所调整
DDD的分层架构如图:从上到下依次是:用户接口层、应用层、领域层和基础层