MVC的替代品
什么是模型视图控制器的替代"设计方法"? MVC似乎很流行(SO是用它构建的,我知道很多),但这是唯一使用的方法吗?
解决方案
还有很多其他的:
- 被动观
我们并没有使用太多替代方案,而是使用了一种称为MVC-ARS的混合方案。
MVC是更多设计模式组的一部分。我不知道我们有多少经验,所以我不确定如何针对此回应。我是.NET程序员,但是我发现Java书籍Head First Design Patterns非常有帮助。设计模式通常与有助于解决类似问题的其他模式分成多个组。
我还发现Data Object Factory网站也很有帮助。我们应该四处寻找我们喜欢的语言的资源。
这篇非常详细且经过精心研究的博客文章是几种不同的交互式应用程序体系结构模式中最好的文章之一。它涵盖了Model-View-Controller,Model-View-Presenter的三种不同风格,Presentation-Abstraction-Control,Supervisor Controller,Passive View和Hierarchical MVC的几种不同风格。
另一个有趣的模式是Atomic Objects的Presenter First模式。它不仅是一个设计模式,而且还是一个过程模式。 IOW:" Presenter First"这个名字不是任意的,它实际上描述了一个开发过程,其中Presenter首先被编写,从而驱动了系统的其余部分的设计。
MVC是一种架构模式。这些是我们可以尝试的其他架构模式(来自Wikipedia):
- 层数
- 多层架构
- 表示抽象控制(PAC)
- 模型视图演示者(MVP)
- 模型视图ViewModel(MVVM)
- 管道
- 隐式调用
- 黑板系统
- 点对点
- 面向服务的体系结构(SOA)
- 裸物
这些可以在Wikipedia中找到。
DCI"数据,通信和交互"
http://www.antonioshome.net/kitchen/nbdci/index.php#dci-introduction
http://www.artima.com/articles/dci_visionP.html
面向对象编程的常识MVC vs DCI