什么是域驱动devise?
所以我从我的团队中的一个开发人员那里得到了这个问题:什么是域驱动devise? 我当然可以指向埃文斯的书,但这实际上是一个答案?
你会如何解释DDD给你的团队中的初级软件工程师?
我认为这种做法会促使你把精力集中在“问题空间”而不是“解决scheme空间”上。 通过学习和真正了解和理解这个领域来推动一个新兴的解决scheme(devise)。 其中一种做法(从XP中获得)将是发生在问题领域的故事的写作。 从这些你可以确定你的devise用例和对象。 他们“出现”并告诉你解决scheme需要什么,以及他们需要如何互相交stream。
InfoQ有一个免费的电子书:
领域驱动devise快速
这是一个很好的阅读与大量的例子。
在发现“领域”的过程中,您会形成一个共同的语言,项目中的开发人员和所有其他利益相关者都能理解。
领域模型及其“行话”在成品的源代码中是非常明显的。 这至less是我的经验
DDD的一个重要组成部分是所谓的无所不在的语言, 即与业务专家讲同一种语言。 并使你的代码/架构,以反映这种语言,以避免阻抗问题。
试图了解你所写的软件是关于和反映模型中的理解。
领域驱动devise是关于pipe理领域模型中的应用程序的复杂性,最容易被提炼的领域。
用几句话来描述是非常困难的,但我会推荐InfoQ的书作为一个很好的介绍。 我也听说有很多人和埃文斯的DDD书一起做书吧,这对于理解这本书有很大的帮助。
对我来说是OOD / OOP的下一个层次,封装就是用户所描述和理解的问题空间,而不是技术实现。
阅读“ 领域驱动devise简介 ”,快速而详细地介绍DDD