Tra*_*s J 3 controller asp.net-mvc-3
这取决于.
a)当然,但是因为整个项目变成了一个.dll,从性能的角度来看,如果你有7个控制器,每行300行代码,而一个控制器有2100行,这真的很重要吗?(如果没有关注点分离,显然可读性和紧耦合是问题)
b)只要考虑到关注点的分离,一个控制器中的代码行数是不是问题?
c)一个控制器中有多少行代码可能是需要重构的标志?(500,1000,5000,10000)?
任何傻瓜都可以编写计算机可以理解的代码.优秀的程序员编写人类可以理解的代码.--Martin Fowler [ 来源]
我记得在经典的asp中看到一个单页的应用程序.它根据所引入的参数进行了不同的渲染.从理论上讲,你可以用ASP.NET MVC做同样的事情,制作一个拥有大量视图的单个控制器(或者更糟糕的是基于输入到控制器而改变的单个视图).
当然,该超级控制器将其工作分为动作.但无论如何,你仍然在做一些大事.
第一个SOLID原则是单一责任.您的模块应该只有一个原因需要更改.一个大型控制器告诉我两件事:
这两个都是SRP违规,因为执行过多的控制器有多个原因需要更改.当逻辑发生变化或与其交互的对象发生变化时,过多的操作必须改变.
对我来说,Controller Action应该只调用服务上的函数(接口,Web服务,等等)并返回该调用的结果.我的大多数控制器动作都是两行代码.我的大多数控制器都非常关注他们的工作.
根据经验,当我必须为一个班级滚动两页以上(大约200行,取决于你的字体大小和/或分辨率)时,我会感到不舒服.比实际长度更重要的是我的控制器有多少责任.最大限度地减少责任,文件大小自动减少.
| 归档时间: |
|
| 查看次数: |
1608 次 |
| 最近记录: |