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

Entity framework 如何有效地利用asp.net mvc4中的域驱动开发?,entity-framework,design-patterns,asp.net-mvc-4,domain-driven-design,Entity Framework,Design Patterns,Asp.net Mvc 4,Domain Driven Design,我想在ASP.NET MVC4上启动新的应用程序,使用不同的方法,如域驱动开发、设计模式、依赖项注入、实体框架(如ORM)等 需要一些关于发展起点的建议吗?我应该从第一类关系开始,还是从传统方法开始? e、 g有三个模块 用户管理 日志记录 错误日志记录 我应该先完成用户管理,比如域类,然后是它的服务,然后是它在实际web应用程序中的CRUD操作吗?然后…将从日志开始(与用户管理中提到的过程相同)。然后是错误日志记录 那么,使用这些概念或工具开始开发的最佳实践是什么呢 ASP.NET MVC4只

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

需要一些关于发展起点的建议吗?我应该从第一类关系开始,还是从传统方法开始? e、 g有三个模块

  • 用户管理
  • 日志记录
  • 错误日志记录 我应该先完成用户管理,比如域类,然后是它的服务,然后是它在实际web应用程序中的CRUD操作吗?然后…将从日志开始(与用户管理中提到的过程相同)。然后是错误日志记录


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

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


    所以,首先要创建域模型(不是全部,而是其中的一部分)。然后,以任意顺序创建使用域模型的UI,并通过实体框架实现用于持久化域模型的存储库。实际上,视图应该使用ViewModels(否则您的POCO域对象将被数据注释、属性和其他内容所污染)。它是一个控制器部分,您将在其中使用域模型。此外,您还将通过依赖项注入将存储库实现注入控制器。

    我将从查看系统的业务功能需求开始,首先关注最高价值的需求。实现这些,根据需求的交付,根据需要填写您的业务领域。如果您遵循BDD风格的流程,您可以使用单元测试来驱动业务功能,并且您的域将随着业务需求的发展而发展。每个业务需求都应该有一个UI和数据访问组件,这样随着领域的发展,您可以使用实体框架填充表示层和数据访问层。以下是一些关于BDD的有用帖子:


    所以您想说的是,首先我们应该为所有模块创建域模型,然后将这些域模型用于演示部分?@DharmikBhandari不是所有模块都需要的(仅当您使用瀑布式DDD时)。以迭代方式创建应用程序。例如,创建一些聚合根。然后为该聚合创建存储库。然后为该根目录上的CRUD操作添加UI。在这个迭代之后,您将拥有应用程序的工作切片。然后用新的对象和服务扩展域,并为它们创建持久性和用户界面。@lazybrezosky:这一定是一个很好的答案。这对我帮助很大。多谢各位