MVC的替代品[关闭]
Posted
技术标签:
【中文标题】MVC的替代品[关闭]【英文标题】:Alternatives to the MVC [closed] 【发布时间】:2010-09-13 14:29:19 【问题描述】:模型视图控制器的替代“设计方法”是什么? MVC 似乎很流行(SO 是用它构建的,我知道很多)但它是唯一使用的方法吗?
【问题讨论】:
【参考方案1】:关于几种不同的交互式应用程序架构模式的最佳文章之一是this very detailed and well-researched blog-post。它涵盖了 Model-View-Controller、三种不同风格的 Model-View-Presenter、几种不同风格的 Presentation-Abstraction-Control、监督控制器、被动视图和分层 MVC。
另一个有趣的模式是 Atomic Objects 的 Presenter First 模式。它不仅仅是一种设计模式,它也是一种过程模式。 IOW:“Presenter First”这个名字并不是随便取的,它实际上描述了一个开发过程,在这个过程中,Presenter 首先被编写,驱动系统其余部分的设计。
【讨论】:
【参考方案2】:还有很多其他的:
Model View Presenter (MVP)
Supervising Controller Passive ViewModel View ViewModel (MVVM)
这在 WPF 应用程序中很常见(尽管 Prism 使用 MVP 模式(通常))【讨论】:
不是真正的替代品,主题的更多变体,链接+1【参考方案3】:MVC 是一种架构模式。这些是您可以尝试的其他架构模式(来自***):
图层 多层架构 表示抽象控制 (PAC) 模型视图演示器 (MVP) 模型视图视图模型 (MVVM) 管道 隐式调用 黑板系统 点对点 面向服务的架构 (SOA) 裸对象这些可用here in Wikipedia。
【讨论】:
【参考方案4】:DCI - “数据、通信和交互”
http://www.antonioshome.net/kitchen/nbdci/index.php#dci-introduction
http://www.artima.com/articles/dci_visionP.html
The Common Sense of Object Orientated Programming - MVC 与 DCI
【讨论】:
DCI 是 MVC 的替代品。否决票是怎么回事? DCI 是对 MVC 的补充,而不是替代方案。【参考方案5】:MVC 是更大的一组设计模式的一部分。我不知道您有多少经验,所以我不确定如何针对此响应。我是一名 .NET 程序员,但我发现 Java 书籍 Head First Design Patterns 非常有帮助。设计模式通常与有助于解决类似问题的其他模式分成几组。
我还发现Data Object Factory website 也很有帮助。你应该四处寻找一些你喜欢的语言的资源。
【讨论】:
顺便说一句,我作为 C# 程序员阅读了 Head First 这本书,没有 Java 经验,这些示例很容易理解。【参考方案6】:我们使用的不是替代品,而是一种名为 MVC-ARS 的混合体。
【讨论】:
【参考方案7】:我知道 Joe Berkovitz 的 MVCS。
教授。 Kowarschick 使用这种方法开发了VCLSD-Pattern(用德语写的 Wiki!也许有人有时间翻译它 - 至于我自己,我只是编程的初学者)
MVCS:模型视图控制服务 VCLSD:查看控制逻辑服务数据
【讨论】:
【参考方案8】:Facebook 的flux.js 怎么样?我知道它依赖于平台,但它是 FB 用来替代 MVC 的数据流架构,所以我相信你也可以从中得到一些想法。
【讨论】:
以上是关于MVC的替代品[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
什么是 MVC 6 中 @Scripts.Render 的替代品
ASP.NET MVC 中 Controller.ReadFromRequest 的替代品是啥?
用于 Web 开发的 MVC 架构的替代方案是啥? [复制]