使用.NET和UnitOfWork在MVC Web应用程序中需要多少个存储库

时间:2018-04-03 08:19:06

标签: .net asp.net-mvc visual-studio repository unit-of-work

首先是一些背景信息。 我正在研究的项目包含18个域名,分为5个包。

在使用.NET框架创建MVC Web应用程序时,使用repoitory模式和工作单元。需要多少个存储库?

    每个需要存储的类(在Db中)
  • 1?
  • 每个域类包的
  • 1?
  • 别的什么?
  • 或者不重要,我应该选择最易维护的选项吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

这是一个基于意见的问题,但如果我正在研究这个项目,我决定为每个聚合编写一个存储库。 什么是聚合?

Martin Fowler说:

  

聚合是域驱动设计中的一种模式。 DDD聚合是一个   可以视为单个单元的域对象集群。一个   示例可以是订单及其订单项,这些将是分开的   对象,但处理订单(连同其行)很有用   items)作为单一聚合。

     

聚合将其组件对象之一作为聚合   根。来自聚合外部的任何引用都应该只转到   聚合根。因此,根可以确保完整性   聚合为一个整体。

     

聚合是数据存储传输的基本要素 - 您   请求加载或保存整个聚合。交易不应该   交叉聚合边界。

Aggregates

请查看Effective Aggregate Design by Vaughn Vernon有关如何设计聚合的信息,您可以查看DDD Community website中的其他链接。