Model view controller MVC架构的正确实现
我读了很多关于MVC体系结构的文章,但我仍然感到困惑Model view controller MVC架构的正确实现,model-view-controller,Model View Controller,我读了很多关于MVC体系结构的文章,但我仍然感到困惑 哪个图表正确? 是否存在MVC架构的正确实现? 我可以使用不同的MVC架构实现吗? 图1 图2 图3 我学习好的MVC技术的策略是找一个知道的人,问很多问题。问我们这些不知道你的要求、意图或想法的人,没有什么好处 我认为图1被认为是“最佳”图,但在不了解您的独特情况的情况下,最好向了解您的需求和MVC体系结构的其他人解释您的需求。MVC可以通过思考责任来理解: 不允许视图直接更改模型的状态-仅通过控制器。视图仍然可以直接访问模型
- 哪个图表正确?
- 是否存在MVC架构的正确实现?
- 我可以使用不同的MVC架构实现吗?
我学习好的MVC技术的策略是找一个知道的人,问很多问题。问我们这些不知道你的要求、意图或想法的人,没有什么好处
我认为图1被认为是“最佳”图,但在不了解您的独特情况的情况下,最好向了解您的需求和MVC体系结构的其他人解释您的需求。MVC可以通过思考责任来理解: 不允许视图直接更改模型的状态-仅通过控制器。视图仍然可以直接访问模型,尽管仅用于查看(或通过拥有非官方模型的副本) 模型应该存在于它自己的宇宙中,并且没有对控制器或视图的任何引用
控制器控制状态和对模型的访问。绝对不是图3!图1还可以。我认为最好的基本上是图2,从控制器到视图有一个箭头 假设您在web应用程序的上下文中提问,我认为一个好的MVC流应该是这样的:
希望这有帮助。箭头代表什么?也许箭头意味着依赖性/可见性?谢谢,这真的帮助了我。在现实中,模型必须始终有控制器的引用,不管是通过某种网络协议还是直接通过C++/JAVA指针/引用。否则它将无法访问。。。顺便说一句:今天的大多数MVC实现(Android、Windows WPF、Qt)都不是纯MVC。我相信这主要是因为性能原因。我们只能在间接访问模型数据(通常通过XML消息)的情况下谈论纯MVC。@vitakot:我不明白为什么您认为模型需要了解其他组件的任何信息-您可以访问模型,而无需参考您。。