业务逻辑组织模式
事务脚本模式
- 面向过程的事务脚本集合,每种请求对应一个脚本。
- 类分为:
- 实现行为的类。
- 存储状态的类。
- 优点:简单。
领域模型模式
- 组织为具有行为和状态的类构成的对象模型。
- 类分为:
- 同时具有行为和状态的类。(主要)
- 具有行为的类。
- 存储状态的类。
- 优点:
- 每个小类逻辑不多,反应现实,易于理解。
- 小类容易测试。
- 可以使用设计模式。
聚合模式
- 聚合模式:领域模型组织成聚合的集合,每个聚合是可以一批处理的对象构成的图。
- 模糊边界产生的问题:
- 概念模糊。
- 并发更新对象一部分时,可能不满足整体约束。
- 聚合规则。
- 只能引用聚合根。确保聚合执行各种不变量约束。
- 聚合引用必使用外键。外键引用替代对象引用松耦合。
- 边界明确,避免意外更新不同聚合。
- 避免出现跨服务对象的引用。
- 一个事务中只能更新或者创建一个聚合。确保事务不超越服务边界。
- 聚合粒度适中。
- 小:聚合内部序列化执行,提高性能降低冲突概率。
- 大:事务范围需要。
领域事件
- 聚合被创建,或者其他重大更改时发布。
- 目的:
- 维护一致性。cqrs视图。
- 触发下一步业务流程。saga。
- 监控应用。
- 分析事件,用户建模。
消息增强:事件包含接收方需要的消息。