面向对象设计与领域驱动设计

0x4*_*672 5 dsl object-oriented-analysis

面向对象的设计已经有 20 年的历史了。领域特定语言和领域驱动设计已经在 Ruby 或 Python 等动态语言中流行起来。如果您的领域主要由对象组成,例如授予徽章或成就的子系统(如 Stackoverflow 上的徽章),那么您可以同时使用面向对象的设计和领域驱动的设计,因为徽章当然是一个对象。例如对于 Ruby,有两个 gems 来实现这个功能,BadgeablePaths of Glory. Badgeable 使用 DSL,Paths of Glory 基于面向对象的设计。在哪些情况下使用面向对象的分析和设计建模更好,哪些情况下使用特定领域语言(即领域驱动设计)建模更可取?

occ*_*lus 5

OOD 和 DDD 是不可互换的。

DDD 通常会涉及使用 OOD。

来自维基百科页面:

领域驱动设计不是一种技术或方法。DDD 提供了一种实践和术语结构,用于制定设计决策,重点关注并加速处理复杂领域的软件项目。

特别是,请阅读与其他想法的关系部分。