c# - 使用 MVC + 存储库模式,业务逻辑应该在哪里?

标签 c# asp.net-mvc-4 repository-pattern unit-of-work business-logic

我想知道关于它的正确概念。如果我有一个带有存储库模式的 MVC 应用程序,BL 应该在哪里?

  • 它应该在模型内部吗?模型应该有所有的业务 调用工作单元以插入或不插入数据之前的逻辑 数据库?

  • 它应该在 Controller 中吗?在调用模型之前?

  • 我是否应该有一个服务层来处理业务逻辑并决定是否 我应该调用Model调用UnitOfWork来保存数据?

一个好的解释也会有很大帮助。

最佳答案

简短的回答 - 这取决于。如果它是一个相当复杂或相当大的应用程序,我喜欢创建一个将存储库作为依赖项的服务层项目。如果它是一个小型应用程序,我会将逻辑放在 Controller 中。在我看来,如果创建服务层比创建应用程序(即一个或两个 Controller )花费更多的时间和精力,那么走那条路对我来说没有意义。您还需要考虑应用程序增长的可能性。从小开始可能会发展成更大的东西,在这种情况下,创建单独的服务层可能更有利。

关于c# - 使用 MVC + 存储库模式,业务逻辑应该在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28089123/

相关文章:

c# - 在代码中处理语音命令以执行命令的智能方式

c# - 从 c# 到 Access DB 的 INSERT STATEMENT 中的语法错误

c# - 如何在 C# 中仅使用 .net api 压缩多个文件

c# - 值是逗号而不是点的范围验证

java - Android MVVM/Repository 如何强制 LiveData 从存储库更新?

c# - numpy 的日志函数发生了什么?有没有办法提高性能?

c# - Api Controller 获取实现接口(interface)的所有类型

json - 将 Json 数据绑定(bind)到 Kendo treeview MVC4

dependency-injection - 使用 DbConnection、DbTransaction 与连接池、transactionScope 和依赖注入(inject)的正确方法?

android - LiveData、MVVM 和存储库模式