相关疑难解决方法(0)

ASP.NET MVC - 控制器中是否应存在业务逻辑?

Derik Whitaker 几天前发表了一篇文章,这篇文章引起了我一直好奇的一段时间:控制器中是否存在业务逻辑?

到目前为止,我见过的所有ASP.NET MVC演示都将存储库访问和业务逻辑放在控制器中.有些甚至在那里抛出验证.这会导致相当大的膨胀控制器.这真的是使用MVC框架的方式吗?看起来这最终会导致很多重复的代码和逻辑分散在不同的控制器上.

asp.net-mvc design-patterns controller business-logic

97
推荐指数
5
解决办法
5万
查看次数

保持控制器薄(太多的操作方法)

我正在研究我的第一个真正的ASP.NET MVC项目,我注意到我一直在工作的控制器变得相当大.这似乎违背了保持控制器薄的最佳做法.

我已经做好了将业务逻辑从控制器中删除的工作.我为此使用了一个单独的层.每个操作主要调用业务层中的方法,并根据模型状态是否有效来协调最终结果.

也就是说,控制器有很多动作方法.直觉上,我想将控制器分解为子控制器,但我没有看到一个简单的方法.我可以简单地将控制器分解为单独的控制器,但是我松开了层次结构,感觉有点脏.

是否有必要使用大量精简操作重构控制器?如果是这样,最好的方法是什么?

asp.net-mvc actionmethod asp.net-mvc-controller

22
推荐指数
1
解决办法
4138
查看次数

我应该在哪里将控制器业务逻辑放在MVC3中

我理解MVC就是把事情放在正确的位置和逻辑应该是什么.我的控制器操作充满了业务逻辑(与数据存储无关),我觉得我应该开始将一些逻辑移到另一个地方.

是否存在我应该放置这种逻辑的约定?例如,我有以下控制器位于控制器文件中:

adminPowerController 

  public ActionResult Create(string test1)
    // business logic
    // business logic
    // business logic
    return View();
  }
  public ActionResult Index(string test1)
    // business logic
    // business logic
    // business logic
    return View();
  }
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

22
推荐指数
2
解决办法
7234
查看次数