保持asp.net mvc控制器的大小

fro*_*sty 5 asp.net-mvc asp.net-mvc-controller asp.net-mvc-3 asp.net-mvc-2 asp.net-mvc-4

我有一个控制器."OrderController".目前它是1800线.我喜欢减小尺寸.我正在使用静态帮助器方法,这很好,但我使用ninject来调用我的存储库,因此无法在不传递属性的情况下访问静态方法中的存储库.

有哪些降低控制器噪音的好方法?

sma*_*man 9

如何获得一个瘦控制器

  1. 重构可重用的功能,可以应用于多种类型的输出ActionFilters. 后果:重复性较低的代码,较薄的控制器操作,更快的未来开发

  2. 重构可重用的功能,适用于特定类型的输出到自定义ActionResult. 后果:重复性较低的代码,较薄的控制器操作,更快的未来开发

  3. 利用ModelBinders将输入值绑定到注入Controller操作的复杂对象. 结果:您不需要在控制器中处理实际的HTTP输入(RouteData,Form值,查询字符串参数).您还可以在模型绑定器中处理数据验证.

  4. 通过自定义实现依赖注入ControllerFactory. 结果:您不需要在Controller中构建服务.

  5. 将具有过多Controller操作的单个控制器重构为多个控制器. 后果: 您的代码变得更易于维护.

  6. 将静态辅助方法移动到静态类.结果:您的方法可以被多个控制器重用,并且您在Controller中的代码更少,因此更容易维护和更改您的应用程序.

其他说明

存在大量开源资源来帮助完成这些任务.我绝对建议调查MvcContrib项目.它们有一个FluentController基础类,其设计考虑了构建精简控制器.此外,我赞成Darin因为他推荐的视频很有用,所以请查看


Dar*_*rov 0

1800行!!!!!!!!!神的圣洁母亲。我建议您观看以下有关如何控制控制器节食的视频。