控制器内部应该写啥逻辑?
Posted
技术标签:
【中文标题】控制器内部应该写啥逻辑?【英文标题】:What all logic should be written inside controller?控制器内部应该写什么逻辑? 【发布时间】:2011-12-18 04:25:47 【问题描述】:我是一个团队的一员,该团队正在开发一个利用 MVC 架构的 C# 程序。
当我浏览 MVC 教程时,我有一些疑问。请帮我澄清这个疑问。
1) 视图中的所有修改都可以由控制器完成吗?
2)我认为所有的 UI 修改(例如在达到阈值时更改文本前景色)都需要在视图级别完成,因为模型与控制器没有任何直接联系。这样正确吗?
3) 我看到一条将模型连接到视图的虚线表示“间接”关系。你能解释一下这种间接关系是什么意思吗?
提前致谢,
【问题讨论】:
【参考方案1】:首先,控制器应该很薄以提高可读性。充其量它应该只委托事物。
1) 您应该尽量避免视图中的复杂逻辑,从而使您的视图尽可能简单。尝试构建 htmlHelper 扩展或尝试创建一个额外的组件来解决一个复杂的问题。然后控制器应该委托给组件。
2) 是的,但请看 1)。
3) 模型不知道视图,但视图知道模型。
看看:http://lostechies.com/jimmybogard/2009/04/24/how-we-do-mvc/
【讨论】:
以上是关于控制器内部应该写啥逻辑?的主要内容,如果未能解决你的问题,请参考以下文章
MVC 3 - 控制器和视图模型 - 哪个应该包含大部分业务逻辑?