领域驱动设计(Domain-Driven Design, DDD)是一种软件开发方法,它主要关注业务领域逻辑,旨在通过将实现与不断发展的模型连接起来,满足复杂需求的软件开发。
战略设计 (Strategic Design)
战略设计主要关注宏观层面的架构决策。
- 通用语言 (Ubiquitous Language): 团队成员(开发人员、领域专家)共同使用的语言,消除沟通障碍。
- 限界上下文 (Bounded Context): 定义模型的适用边界。在不同的上下文中,同一个概念可能具有不同的含义。
- 上下文映射 (Context Map): 描述不同限界上下文之间的关系(如防腐层、共享内核)。
战术设计 (Tactical Design)
战术设计提供了一组具体的模式用于构建领域模型。
- 实体 (Entity): 具有唯一标识符的对象,其连续性跨越了系统生命周期。
- 值对象 (Value Object): 没有唯一标识,仅由其属性描述的对象。
- 聚合 (Aggregate): 一组相关对象的集合,作为一个单元进行数据修改。聚合根 (Aggregate Root) 是外部访问聚合的唯一入口。
- 仓储 (Repository): 模拟对象集合,用于持久化和检索聚合。
DDD 不是银弹,它引入了额外的复杂性,但对于业务逻辑复杂的企业级应用,DDD 是治理复杂度的利器。

发表评论 取消回复