如何有效地利用asp.net mvc4中的域驱动开发?

时间:2013-01-10 08:39:23

标签: entity-framework design-patterns asp.net-mvc-4 domain-driven-design

我想使用不同的方法在ASP.NET MVC4上启动新的应用程序,如域驱动开发,设计模式,依赖注入,ORM等实体框架等。

需要一些关于什么应该是发展起点的建议?我应该从第一阶段关系开始,还是从传统方法开始? 例如,有三个模块。

  1. 用户管理。
  2. 记录日志。
  3. 错误记录。
  4. 我是否应首先完成域类等用户管理,然后是实际Web应用程序中的服务和CRUD操作?之后......将从日志记录开始(与用户管理中提到的过程相同)。然后在错误记录中。

    那么使用这些概念或工具开始开发的最佳实践是什么?

2 个答案:

答案 0 :(得分:10)

ASP.NET MVC4只是解决方案的一个演示文稿部分。使用Domain-Driven方法,您可以从域(通常是单独的库项目)开始,然后添加演示文稿(网站,桌面应用程序等)和持久性(在您的域中声明的存储库和uof接口的实现)。

因此,您首先要创建域模型(不是整体,而是部分模型)。然后,您可以按任何顺序创建使用域模型的UI,以及通过Entity Framework保存域模型的存储库实现。实际上,视图应该使用ViewModel(否则您的POCO域对象将被Data Annotations属性和其他东西污染)。它是一个控制器部分,您将使用域模型。您还将通过依赖注入将存储库实现注入控制器。

答案 1 :(得分:5)

我首先要看一下系统的业务功能要求,然后首先关注最高价值要求。根据需求实施这些,根据需要填写业务领域。如果您遵循BDD样式流程,则可以使用单元测试来消除业务功能,并且随着业务需求的发展,您的域将发展。每个业务需求都应该有一个UI和数据访问组件,以便随着域的发展,您可以使用Entity Framework填写表示层和数据访问层。这里有一些关于BDD的有用帖子: