模型或控制器中的MVC变量?

时间:2016-12-01 00:38:39

标签: variables design-patterns model-view-controller model controller

我正在尝试理解MVC模式,我终于理解了很多。有一个概念我还不太了解。我已经查看了这里试图解释MVC的所有帖子,但是这个问题还没有得到明确解答。

您是在模型或控制器中创建变量还是两者都创建变量?

我可以看到有人将变量从控制器传递到模型以更改变量中保存的数据,但是最好在模型中创建它们然后从控制器调用它们的值吗?或者在模型中创建变量并将它们的值复制到控制器中的相同变量会更好吗?

如果你知道,请解释为什么一个比另一个好。我要求理解,而不仅仅是要知道正确的答案。谢谢。

2 个答案:

答案 0 :(得分:1)

如果我直截了当地回答

  

您是在模型或控制器中创建变量还是两者都创建变量?

这并不重要。

模型 控制器 背后的主要理念是

  • 控制器仅驻留 演示逻辑
  • 模型仅驻留 业务逻辑
  • 因此,如果您想要使用不同的演示逻辑来展示您的模型,您可以将现有的模型输出并使用新的控制器进行插入,而不会出现任何问题因为你的业务逻辑和表示逻辑是分离的(不相互混合)。

这是我发现的MVC架构的最佳图表。希望你能用这个升级你的理解。

enter image description here

因此,就变量而言,在模型中,您应该仅为业务逻辑目的创建变量。在控制器中,它仅用于演示目的。 :))

答案 1 :(得分:0)

应用程序生命周期内所需的持久性数据应保留在模型中。模型方法调用设置,获取和操作模型中的数据应该由Controller完成。

应用程序或视图(出于任何原因) 所需的临时数据可以保存在控制器中...但是不应该在控制器中保存持久性数据控制器,因为它被认为是一个糟糕的MVC设计模式实现。