MVC的替代品

时间:2008-09-26 20:53:23

标签: model-view-controller design-patterns

模型视图控制器有哪些替代“设计方法”? MVC似乎很受欢迎(SO是用它构建的,我知道的很多)但它是唯一使用的方法吗?

8 个答案:

答案 0 :(得分:47)

几个不同的交互式应用程序架构模式的最佳文章之一是this very detailed and well-researched blog-post。它涵盖了Model-View-Controller,三种不同风格的Model-View-Presenter,几种不同风格的Presentation-Abstraction-Control,Supervising Controller,Passive View和Hierarchical MVC。

另一个有趣的模式是Atomic Objects的Presenter First模式。它不仅仅是一种设计模式,它也是一种过程模式。 IOW:名称“Presenter First”不是任意的,它实际上描述了一个开发过程,其中Presenter首先被编写,驱动系统其余部分的设计。

答案 1 :(得分:30)

还有很多其他人:

答案 2 :(得分:14)

MVC是一种架构模式。这些是您可以尝试的其他建筑模式(来自维基百科):

  • 多层架构
  • 演示抽象控制(PAC)
  • 模型视图演示者(MVP)
  • 模型视图ViewModel(MVVM)
  • 管道
  • 隐式调用
  • 黑板系统
  • 对等网络
  • 面向服务的体系结构(SOA)
  • 裸体物品

这些可用here in Wikipedia

答案 3 :(得分:7)

答案 4 :(得分:3)

MVC是更多设计模式的一部分。我不知道你有多少经验,所以我不确定如何针对这种反应。我是一名.NET程序员,但我发现Java书Head First Design Patterns非常有帮助。设计模式通常被分成若干组,其他模式有助于解决类似的问题。

我还发现Data Object Factory website也非常有帮助。你应该用你最喜欢的语言环顾四周寻找一些资源。

答案 5 :(得分:1)

我们使用的不是替代品,而是使用名为MVC-ARS的混合物。

答案 6 :(得分:1)

我知道Joe Berkovitz的MVCS

教授。 Kowarschick用这种方法来开发VCLSD - 模式(Wiki用德语写的!也许有人有时间,翻译它 - 就我自己而言,我只是编程的初学者)

MVCS:模型视图控制服务
VCLSD:查看控制逻辑服务数据

答案 7 :(得分:0)

来自Facebook的flux.js怎么样?我知道它依赖于平台,但它是FB用来代替MVC的数据流架构,所以我相信你也可以从那里得到一些想法。