• Data Domain
  • 失血
    • DO和DAO无业务逻辑,纯数据
    • 优点
      • 优点是简单
    • 缺点
      • 肿胀业务代码难以维护
      • 无法应对频繁更改的需求
  • 贫血
    • DO中有固有行为(如DAO),Spring生态的引导
    • 优点
      • 层次清楚,各层单身依赖
      • 少量业务逻辑应用,使用自然
      • 开发迅速,易于理解
    • 缺点
      • 无法良好应对非常复杂的逻辑和场景
  • 充血
    • DO中有业务逻辑
    • 优点
      • 更符合OO原则(单一职责)
      • Service层很薄,无DAO或与DO双向依赖
    • 缺点
      • 职责不好划分,开发者水平要求高
      • 模型中包含大量操作,实例化增加消
  • 胀血
    • 无Service,全部逻辑放DO
    • 优点
      • 简化分层架构
      • 符合OO
    • 缺点
      • 无Service,授权很多非此模型逻辑,模型不稳定难维护