典型的服务架构:

  • 业务逻辑
  • 适配器

image.png

image.png

组织业务逻辑的两种模式:

  • 面向过程的事务脚本模式
  • 面向对象的领域建模模式

5.1.1 使用事务脚本模式设计业务逻辑

特征: 实现行为的类与存储状态的类式分开的.

image.png

image.png

5.1.2 使用领域模型模式设计业务逻辑

当业务逻辑变得复杂时, 应该使用领域模型设计业务逻辑.

image.png

在面向对象设计中, 业务逻辑由对象模型和相对较小的一些类的网络组成.

  • 大部分类同时包含状态和行为

image.png

使用面向对象设计的好处:

  • 易于理解和维护
    • 由许多小类组成
    • 每个小类都有少量职责
    • 反映现实世界, 易于理解
  • 更容易测试
  • 更容易扩展
    • 使用设计模式

5.1.3 关于领域驱动设计

Domain-Driven Design, DDD

书籍:

  • <> (领域驱动设计-软件核心复杂性应对之道)

相关概念:

  • 战略性 DDD 模式
    • 子域: 有助于把应用程序分解为服务
    • 界限上下文
  • 战术性模式, 它们是领域模型的基本元素 (building block)
    • 每个模式都是一个类在领域模型中扮演的角色, 并定义了类的特征

广泛采用的基本元素:

image.png

被众人忽略的基本元素:

  • 聚合