用于 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 架构的替代方案是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 5 实体框架替代方案或在运行时指定架构的能力?