1

我有一个使用 ASP.NET MVC 开发的 Web 应用程序。

该应用程序遵循第n 层架构,我将应用程序分为 4 个不同的项目,分别是模型、核心、框架和 Web 应用程序。

模型、核心和框架是 DLL,模型只包含我的 POCO 类,核心包含我的 DbContext、存储库和工作单元实现,而我的框架项目包含将由我的 MVC Web 应用程序直接使用的类,例如 action-link扩展、自定义视图引擎等

除了我的框架之外,我还创建了一个名为 service 的类,它对我的​​核心 DLL 中的存储库进行方法调用,并且我的 Web 应用程序调用服务类中的方法。

我的问题是:通过我的框架 DLL 中的服务类将方法调用从 Web 应用程序传递到存储库是理想的,还是直接调用核心 DLL?

4

1 回答 1

2

除非您需要,否则不要添加抽象层。如果您没有充分的理由在中间添加服务层,那么您最终将实现Poltergeist 反模式,其唯一目的是将信息传递给另一个对象。

通常,直接调用您的存储库是非常好的,因此您必须分析您是否预见到任何不允许此模式的特定限制。

于 2013-07-14T02:08:31.220 回答