用于 Web 开发的 MVC 架构的替代方案是啥? [复制]

Posted

技术标签:

【中文标题】用于 Web 开发的 MVC 架构的替代方案是啥? [复制]【英文标题】:What are the alternatives to MVC architecture for web development? [duplicate]用于 Web 开发的 MVC 架构的替代方案是什么? [复制] 【发布时间】:2011-08-21 07:49:01 【问题描述】:

可能重复:Alternatives to the MVC

我四处寻找替代品,只是为了看看有什么可用的,但我几乎找不到任何东西。

我在许多文章中读到,Web MVC 从来都不是真正的 MVC,因为某些原因太技术性,我无法真正掌握。有时建议寻找其他东西,但其他东西是什么,其他架构类型是什么?我在哪里可以阅读更多关于它的信息?有人可以提供有关可用内容的更多详细信息吗?

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

还有什么?

【问题讨论】:

还有What Alternatives Are There to Model-View-Controller? 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

抱歉,没有任何容易理解的比较。但是例如 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 本身是 web 应用程序的最佳模型,而模式而不是模板并不能带来足够的好处。

除了 PAC,还有 Model-View-ViewModel(目前是 C# 中的热门话题,但不是 PHP 中的热门话题)和 Model-Delegate http://c2.com/cgi/wiki?ModelDelegate,它们扩展了 MVC。但它们对于通用 web 应用程序也可能没有那么有用。

【讨论】:

【参考方案3】:

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

我提出的替代方案是基于面向对象的设计。视图是一个对象。模型是一个对象。控制器也是一个对象。这为更高水平的效率、简单性和代码重用开辟了可能性。

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

【讨论】:

以上是关于用于 Web 开发的 MVC 架构的替代方案是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

web前端三大主流框架都是啥?

三层架构是啥?

ASP.NET MVC 5 实体框架替代方案或在运行时指定架构的能力?

WEB前端MVC架构变形记

在 Wildfly 中用于模块间服务注入的 OSGI 替代方案是啥?

Web 应用程序的 NTier 架构的替代方案