2010-10-06 52 views

回答

5

从它所包含的库区分域模型的第一种方式是认为一个程序存储库做什么。

本质上,存储库只是封装了一大块数据访问代码,以这种方式暴露给定的接口,以便程序员可以轻松地交换不同的存储方法,例如,独立于数据库问题测试其他代码。

相比之下,域模型包含给定应用程序的所有必需的存储库。因此,它显然是一个非常不同的野兽。

更大的野兽。

域模型还将包含其他代码和类,例如通过控制器传递给视图的模型(在MVC范例中)。

一派思想认为领域模型应该在它自己的类库中。这个思想流派反对在默认的MVC项目中使用Model文件夹。我同意这一点,通常删除它。

域模型建模一个域。它与传递给每个视图的模型截然不同,它只是表示视图需要的数据,而不是模拟包含存储库和服务等的给定业务问题。

我认为你的问题是一个很好的一个是因为它解决了一个很容易让人困惑的问题,如果你不知道背后的想法。

首先,鸡还是鸡蛋?答:也没有。首先是什么问题。

DDD:

这些概念是领域驱动设计,这与其说是对给定的技术实现约一套关于如何规范需要翻译成的理解和复杂的领域建模指南中的一部分软件。

关于MVC的一个很棒的事情是它允许你使用域驱动设计之类的东西。相比之下,在ASP.NET webforms中,当尝试应用良好的设计原则时,您会受到更多的限制。也就是说,MVC允许您设计您的应用程序,以便将域的表示封装在MVC的M位中。

在这一天结束的时候,由M位走多远取决于你。它可以在Models文件夹中,也可以将其重构为自己的类库,并将其重构为您的内容,实现DDD最佳实践或其他任何您想要的内容。

1

他们不是。这些都是Domain Driven Design方法论的全部内容。第一次介绍将是this free e-book

HTH!
托马斯

+0

嘿,谢谢你的链接,BTW维基链接是我认为的丹麦语。以下是英文版:http://en.wikipedia.org/wiki/Domain-Driven_Design – Roman 2010-10-06 09:47:13

+0

@Am不是丹麦语,而是德语。对不起,;-) – 2010-10-06 10:47:26

+0

另外,考虑花钱购买埃里克埃文的蓝色“圣经”,非常值得的钱,如果你是新的DDD – DanP 2010-10-06 12:14:10

相关问题