1.背景
最近老是有新同事问OOP(面向对象设计)与DDD(领域驱动设计)的关系,本文不长篇大论,也不说从面向对象设计OOP 到领域驱动设计DDD 的演进之路,只说基础概念,因为,只有掌握了基础,才能带着感觉去深入了解,这样在探索的过程中才会有一种“原来如此”的顿悟。
2.基础理论
2.1 OOP(面向对象设计)
在OOP 中,通过类和对象来模拟现实世界的实体和概念。这些类和对象拥有属性(状态)和方法(行为),通过它们能够描述和实现具体的业务逻辑。
它强调的是:
- 类和对象 → 状态和行为
- 业务逻辑
2.2 DDD(领域驱动设计)
在DDD中,通过实体(Entity)和聚合(Aggregate)等概念来建模领域内的关键业务实体和规则,强化了对象的边界、标识、以及生命周期管理。
它强调的是:
- 实体和聚合 → 关键业务实体和规则
- 边界、标识、生命周期