控制器内部应该写啥逻辑?

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 - 控制器和视图模型 - 哪个应该包含大部分业务逻辑?

我应该在android中的方法参数中写啥[重复]

我应该在 tableView(_:cellForRowAtIndexPath:) 方法中为自定义单元格写啥?

Lumen 中的业务逻辑应该放在哪里?

我正在从二级事件中心接收数据。我想将第二级数据转换为分钟级。我应该为此写啥查询?