【问题标题】:how many repositories needed in MVC web application using .NET and UnitOfWork使用 .NET 和 UnitOfWork 的 MVC Web 应用程序需要多少个存储库
【发布时间】:2018-09-12 12:01:38
【问题描述】:

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

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

  • 每个需要存储的类(在 Db 中)1?
  • 每个域类包1个?
  • 还有别的吗?
  • 或者没关系,我应该选择最易于维护的选项吗?

提前致谢。

【问题讨论】:

  • 最后一个选项是最好的。尽管您会很快将此问题标记为“基于意见”并发送到问题的底部。
  • 真可惜。我只是想阅读意见并根据它们发表自己的意见。这不是 Stackoverflow 的工作原理,呵呵。

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


【解决方案1】:

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

马丁·福勒说:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多