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