0

我目前正在研究具有以下几层的 n 层架构

  • 查看(ASP.net Web 应用程序)
  • 经理(编排服务)
  • 服务(业务层使用工作单元)
  • 存储库(数据访问)

目前,Manager 正在调用一项或多项服务来访问数据、保存数据或执行其他一些业务。服务正在使用已实现的工作单元和存储库,以便在事务中使用服务。

现在我们有一个需要调用不同服务的管理器,这些服务应该在一个事务中一起工作。

我的观点是,工作单元调用应该保留在服务中,因为服务正在使用存储库访问数据库。如果我们将 Unit of Work 调用移至 Manager,则会破坏设计。经理需要对存储库的引用。

任何建议如何设计访问?

谢谢!

4

1 回答 1

2

工作单元不是数据访问模式。它是逻辑事务的表示 = 它是业务逻辑的一部分,属于您的经理,因为经理正在编排来自多个服务的逻辑事务。

你的经理是一个门面(或者我们称之为顶级服务)——它仍然是业务逻辑,如果逻辑操作需要多个低级服务,它们应该都在单个工作单元中运行。

于 2012-08-08T14:13:57.823 回答