我是DDD的新手,并试图掌握一些概念. 有人可以解释我在DDD中进行域建模背后的想法. 我已经通过维基百科解释:http://en.wikipedia.org/wiki/Domain_model,但似乎我的理解中仍有一些灰色区域. 根据
有人可以解释我在DDD中进行域建模背后的想法.
我已经通过维基百科解释:http://en.wikipedia.org/wiki/Domain_model,但似乎我的理解中仍有一些灰色区域.
根据我的理解,域建模涉及围绕业务实体构建模型以表达其关系,表达参与模型的实体等.
这不是一直在实践中的东西吗?在面向对象的世界中,您将业务实体建模为类,对象等.并围绕此构建软件.
我不明白的是域建模在DDD中的重点.它是您在OO世界中找到的相同对象/类建模,还是DDD的新功能?
它与面向对象的设计/建模有何不同?
非常感谢您的回答.
一个区别是DDD中“ Domain Model Pattern”的“正确”实施与跨领域问题是隔离的.例如,它与数据库或其他持久性无关.它包含验证逻辑,它是业务验证,而不是“名称是否超过列长度?”验证.
我们的想法是,域模型在可能的范围内以业务术语(“无处不在的语言”)封装“业务” – 并将业务的相关方面暴露给“程序”,而不必默认软件的需要.
另一方面,“软件”涉及IO,UI等,但是将所有业务逻辑委托给域模型.
原则上,您可以将域模型包装在程序集中,并在多个应用程序中使用它.当业务规则发生变化时,您会有一个非常合理的位置来影响变更(因为模型是业务相关方面的1:1或几乎如此表示,并且用与这生意).