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 View

Model 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 架构的替代方案是啥? [复制]

JSP for Spring MVC视图层的替代方案

带有 mvc 核心的 Ajax.ActionLink 替代方案

ViewData 的替代品?