什么是“真正的”MVC模式


What is the "real" MVC pattern?

在谷歌上搜索MVC解释和教程时,我浏览了前4页的所有链接(搜索词:mvc php)并做了笔记。我发现 MVC 有 4 种不同的解释方式。我知道理论上它们都归结为同一件事,但是看到编程中的大多数模式都有不同的名称,我想知道为什么这 4 种明显不同的模式都以相同的名称知道。(请记住,使用相同方法的第 5 种模式称为 MVP)。我发现的 4 种模式是(希望这能正确实现,因为我对 ASCII 艺术感到绝望):

U --> C --> M --> V --> U

      V --> U
      ^
      |
U --> C <-> M

            U
            ^
            |
U --> C --> V <-> M

      M <-> V --> U
      ^     ^
      |     |
U --> C ----|

其中 U = 用户

MVC 是一种适应其使用环境的模式,因此没有"真正的"MVC 模式,只有要在给定环境中使用的 MVC 模式。

MVC 最初是在 Smalltalk 中开发的,但 smalltalk 是一种独特的语言,它提供了大多数其他语言所没有的功能。

MVC的维基百科条目几乎总结了它。