用于Web开发的MVC架构有哪些替代方案?

时间:2011-05-08 23:25:42

标签: php model-view-controller architecture frameworks

  

可能重复:
  Alternatives to the MVC

我一直在寻找替代方案,只是为了看看有什么可用,但我几乎找不到任何东西。

我在很多文章中都读过,网络MVC从来都不是真正的MVC,因为某些原因对我来说太技术化了。并且有时建议寻找其他东西,但有什么东西,其他架构类型是什么?我在哪里可以阅读更多相关信息?有人可以提供有关可用内容的更多详细信息吗?

顺便说一下,我已经阅读了3层架构,我认为这些架构非常相似,除非另有证明。

还有什么?

3 个答案:

答案 0 :(得分:10)

Larry Garfield的一篇(已经有点老了)博客文章是我对这个主题的最佳资源:

http://www.garfieldtech.com/blog/mvc-vs-pac

答案 1 :(得分:5)

抱歉,没有任何易于消化的比较。但是有一个Model-View-Presenter模式已经取代了MVC,实际上更接近大多数PHP框架实际上做的事情。 http://richnewman.wordpress.com/2008/02/26/model-view-presenter-variations-on-the-basic-pattern-introduction-to-cabscsf-part-24/

http://c2.com/cgi/wiki?TemplatingInPhp这样的文章假设PHP本身是webapps的最佳模型,模式而不是模板不会带来足够的好处。

除了PAC之外,还有Model-View-ViewModel(目前是C#中的热门话题,但不是PHP中的热门话题)和模型委托http://c2.com/cgi/wiki?ModelDelegate,它们扩展了MVC。但它们对通用webapp也可能没用。

答案 2 :(得分:1)

模型 - 视图 - 控制器是一个相当不错的概念,但框架的解释可能不同。通常,“视图”是一个模板,其中包含一些逻辑。模型通常被描述为XML或YAML文档。最后,Controller是编程语言中的一段代码。

我提出的替代方案是基于面向对象的设计。视图是一个对象。模型是一个对象。控制器也是一个对象。这使得posibilites更高效,简单和重复使用代码。

这个原则是implemented in my web development framework,我也在描述它in details in my blog post — Object Oriented MVC