所以我从团队中的一位开发人员那里得到了这个问题:什么是域驱动设计?我当然可以指出埃文斯的这本书,但这实际上是一个答案吗?
您如何用几句话向团队中的初级软件工程师解释DDD?
我想说这种做法促使你把精力集中在"问题空间"而不是"解决方案空间"上.通过学习并真正了解和理解领域来推动紧急解决方案(设计).其中一种做法(取自XP)将是编写问题域中出现的故事.通过这些,您可以确定您的设计的用例和对象.它们"浮出水面"并告诉您解决方案需要什么,以及它们如何相互交互.
InfoQ有一本免费的电子书:
领域驱动设计快速
这是一个很好的阅读,有很多例子.
在发现"域"的过程中,您形成了一种共同语言,即开发人员和项目中所有其他利益相关者都能理解.
域模型及其"术语"在成品的源代码中是非常明显的.这至少是我的经验