什么是“真正的”MVC模式?

时间:2012-04-11 15:46:26

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

在Google上搜索MVC解释和教程时,我浏览了前4页中的所有链接(搜索词:mvc php)并做了笔记。我发现MVC以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 =用户

1 个答案:

答案 0 :(得分:4)

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

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

wikipedia entry for MVC几乎总结了它。