MVC模式中的控制器是什么,为什么存在?

时间:2019-09-07 11:34:44

标签: model-view-controller

在使用Unity时,我意识到将Model和View分开可以使我的代码更具可读性和直接性。构建整个模型,我要做的就是创建一些UI并将其绑定到Model。

但是我仍然不知道什么是“控制器”,以及为什么它存在。我不认为直接将View绑定到Model而不是通过Controller没麻烦。

所以问题是如果我们可以直接将View绑定到Model,为什么我们需要Controller?在Model和View之间使用Controller有什么好处?

2 个答案:

答案 0 :(得分:1)

在最高级别,控制器是视图(显示UI / UX)和模型(创建和管理数据库及其表)之间的链接。 没错,可以编写代码而无需使用任何Controller,但是您的View很快就会变得混乱,每个文件将充满逻辑,这些逻辑可以更好地存储在其他 hint hint 位置。

因此,Controller(以及Model和其他一些地方,例如helper)是整理所有后端代码的理想场所,因此您要做的就是将单个字段或对象发送到View进行显示。 一个例子有些痛苦,因为从本质上讲,随着事情变得越来越复杂,控制器是您整理代码的地方,但这是一篇不错的文章,可以帮助您正确地步入正轨! HTH

https://www.toptal.com/unity-unity3d/unity-with-mvc-how-to-level-up-your-game-development

答案 1 :(得分:0)

我没有多年的经验,但是据我所知,控制器提供了跨视图和模型的桥梁。当视图包含漂亮的部分而模型包含有用的部分时,控制器执行函数调用,这些函数将值从数据库传递到视图或将输入传递给模型。这提供了避免大量注入的方法,例如A类调用B类,C类等等。

您可以将规则业务放在控制器中或放在视图中,但这并不是MVC体系结构中所期望的。对我而言,软件编程中的第一件事是可读性,即MVC提供的功能。

如果您有兴趣,请搜索其他架构,例如MVVM,然后进行比较。