Variables 模型或控制器中的MVC变量?
我试图理解MVC模式,我终于理解了很多。有一个概念我还不太明白。我已经浏览了这里所有试图解释MVC的帖子,但是这个问题还没有得到明确的回答 您是在模型或控制器中创建变量,还是同时在两者中创建变量 我可以看到有人将变量从控制器传递到模型,以更改变量中保存的数据,但是在模型中创建它们然后从控制器调用它们的值会更好吗?还是最好在模型中创建变量,并将它们的值复制到控制器中的相同变量Variables 模型或控制器中的MVC变量?,variables,design-patterns,model-view-controller,model,controller,Variables,Design Patterns,Model View Controller,Model,Controller,我试图理解MVC模式,我终于理解了很多。有一个概念我还不太明白。我已经浏览了这里所有试图解释MVC的帖子,但是这个问题还没有得到明确的回答 您是在模型或控制器中创建变量,还是同时在两者中创建变量 我可以看到有人将变量从控制器传递到模型,以更改变量中保存的数据,但是在模型中创建它们然后从控制器调用它们的值会更好吗?还是最好在模型中创建变量,并将它们的值复制到控制器中的相同变量 如果你知道,请解释为什么一个比另一个好。我要求的是理解,而不仅仅是知道正确的答案。谢谢。如果我给你一个直截了当的答案 您是
如果你知道,请解释为什么一个比另一个好。我要求的是理解,而不仅仅是知道正确的答案。谢谢。如果我给你一个直截了当的答案 您是在模型或控制器中创建变量,还是同时在两者中创建变量 这并不重要 模型和控制器背后的主要思想是
- 控制器仅驻留表示逻辑
- 模型仅驻留业务逻辑
- 因此,如果您想用不同的表示逻辑来表示您的模型,您可以将现有的模型取出,并将其插入新的控制器,而不会出现任何问题,因为您的业务逻辑和表示逻辑是解耦的(不是相互混合的)
因此,在变量方面,在模型中您应该只为业务逻辑目的创建变量。在控制器中,仅用于演示目的。:) 应用程序整个生命周期所需的持久数据应保存在模型中。用于设置、获取和操作模型内数据的模型方法调用应由控制器完成
应用程序或视图所需的临时数据(出于任何原因)可以保存在控制器中。。。但是控制器中不应该保存持久性数据,因为这样做被认为是一个糟糕的MVC设计模式实现。这是一个很好的图表,但是您可以看到我的困惑所在。即使有了这个漂亮的图表,变量也没有被提及。@user2470057在控制器中使用变量完全没有问题,只要它们不与应用程序的业务逻辑混合。实际上,模型是控制器的服务提供者。:)@user2470057如果我改进您的陈述,我会说“控制器负责表示逻辑,保存变量,调用模型来更新控制器中存在的变量,并调用视图来根据控制器中存在的更新变量进行更新。”:)谢谢,这看起来是我现在可以理解的。我会等几天,以确保每个人都同意这一点。我还找到了你从中获得图像的链接,并希望确保原始作者得到了信任:根据链接的作者,他说数据保存在模型中,所以从我所看到的,变量实际上并不保存在控制器中。