• 特点
    • 层间松耦合
      • 降低层与层依赖
      • 专注本层的设计和开发
  • 数据库驱动三层架构
    • 表现层Controller
    • 业务逻辑层Service
    • 数据访问层Dao
  • 领域驱动四层架构
    • 特征
      • 非严格分层,可以访问下边任何层
    • 分层
      • 用户界面层(User Interface):对外model
      • 应用层(Application):线程调度,应用服务,与模型实体无关的业务逻辑
      • 领域层(Domain):业务领域模型,行为建立
      • 基础设施层(Infrastructure):交互层
  • 五层架构
    • 四层架构结合DCI
    • 分层
      • 用户界面层(User Interface)
      • 应用层(Application)
      • 环境层(Context):领域与行为绑定,聚合
        • 上层:事务处理
      • 领域层(Domain)
      • 基础设施层(Infrastructure)
  • 六边形架构
    • 实践:干净架构、洋葱架构、Life preserver
    • 特点
      • 平面、内外分层
      • 不止两个出口(API与DB)
      • 依赖倒置单一职责
        • 对外适配器防腐, 保护限界上下文 # 如面向接口
          • 消息, 内存, 数据库
          • soap, rest
      • 端口与适配器组成
        • 主适配器:用户访问
        • 次适配器:应用出口
        • 每条边是每个类型的端口,一边多个适配器
      • 领域模型简洁自治
  • 传统分层
    • mv*
      • mvc
        • view controller model, 单向循环
      • mvp
        • view presenter model, presenter双向交互
      • mvvm
        • view view-model model, view-model双向绑定
    • 验证
    • 异常层
      • 封装每层异常为不同异常类
    • 过滤层
    • 监听器
    • 日志
    • 测试