模型,视图,控制器混淆

可能重复:
理解模型 – 视图 – 控制器

我有一个关于如何分割我的代码的一般编程问题,通常(我试图摆脱这一点)我只是把它写在viewController中,在视图控制器中的许多代码。 但是现在我已经回顾了关于MVC的一些信息,但是我有一些问题。

我的问题

主要是,如果我是一个视图控制器(持有一个模型和一个视图),并在模型中运行一个方法为视图计算一个数字显示,所以只需一个简单的int视图就会显示在屏幕上。 为了让我的模型告诉我这样做,我应该直接从模型—->查看。 还是应该将数据返回给控制器,然后将其发送到视图?

最后,如果我需要将数据发送回控制器,我该怎么做,因为我认为模型应该不知道控制器,反之亦然。

对不起,冗长的问题。 感谢你的帮助。

网上有很多关于这个的信息。 维基百科 :

尽pipeMVC有不同的风格,但控制stream程一般如下:

  1. 用户以某种方式与用户界面交互(例如,通过按下鼠标button)。
  2. 控制器通知用户动作的模型,可能导致模型状态的改变。 (例如,控制器更新用户的购物车。)

  3. 视图查询模型以生成适当的用户界面(例如视图列出了购物车的内容)。 视图从模型中获取自己的数据。 在一些实施方式中,控制器可以向视图发出通用指令以呈现其自身。 在其他情况下,视图会自动通过需要屏幕更新的状态更改模型(Observer)进行通知。

  4. 用户界面等待进一步的用户交互,重新开始控制stream程循环。

MVC的目标是通过解耦模型和视图来降低架构devise的复杂性,并增加代码的灵活性和可维护性。 MVC也被用来简化自主和自主pipe理系统的devise

只要你不使用绑定,你可以简单地为你的数据库操作,查看你的接口对象和一个控制器,从之前检索数据,并把它放在后者,你是相当结构的模型类。 至于回来的路:应用程序所做的一切,都是由某种事件触发的。 根据这些,你必须从你的界面( – >网点)获取适当的值。 对于其他一切,你实际上还得做一些进一步的学习控制器和绑定。