【发布时间】:2010-12-28 13:34:34
【问题描述】:
我使用存储库来执行基本的 CRUD 操作,并使用服务通过这些存储库实现业务逻辑。
我倾向于在控制器中同时使用存储库和服务。我的问题是——就标准架构而言,这可以吗?我应该将我的基本存储库移动到基本服务,以便我的控制器只使用服务,而不是存储库吗?希望这有意义,谢谢。
【问题讨论】:
-
让您的服务直接调用存储库是否有意义,或者有充分的理由让它们完全独立运行?
标签: asp.net-mvc
我使用存储库来执行基本的 CRUD 操作,并使用服务通过这些存储库实现业务逻辑。
我倾向于在控制器中同时使用存储库和服务。我的问题是——就标准架构而言,这可以吗?我应该将我的基本存储库移动到基本服务,以便我的控制器只使用服务,而不是存储库吗?希望这有意义,谢谢。
【问题讨论】:
标签: asp.net-mvc
我建议您将存储库放在服务后面,这样控制器只会使用服务。这样你:
实际上,没有什么能阻止你将 Repos 和 Services 一起注入到你的 Controller 中,但它只是感觉不对 - 那么存在 Services 的意义何在?
【讨论】:
只要你不在控制器里放任何商业逻辑就可以了。如果不添加任何逻辑/行为,那么创建一个包装存储库的新服务类是没有意义的。
我倾向于使用存储库和 内同时服务 控制器。
考虑一下控制器/动作的功能和它的依赖关系,如果您使用存储库和服务,那么您可能应该创建一个新的服务类来包装该功能,并使控制器/动作依赖于该单一服务。理想情况下,操作应仅依赖于一项服务。
当我只需要 CRUD(例如管理应用程序)时,我已经让控制器直接调用存储库。
【讨论】: