【发布时间】:2010-09-05 08:21:33
【问题描述】:
当超越RAD(拖放和配置)构建用户界面的方式时,许多工具鼓励您可能会遇到三种设计模式,称为Model-View-Controller、Model-View-Presenter 和Model-View-ViewModel。我的问题分为三个部分:
- 这些模式解决了哪些问题?
- 它们有何相似之处?
- 它们有何不同?
【问题讨论】:
-
IDK,但据说对于原始的 MVC,它是为了在小范围内使用。每个按钮、标签等都有自己的视图和控制器对象,或者至少鲍勃叔叔声称是这样。我认为他在谈论 Smalltalk。看看他在 YouTube 上的演讲,很精彩。
-
MVP 通过将 View-Controller 拆分为 View 和 Presenter 来添加额外的间接层...
-
主要区别在于,在 MVC 中,Controller 不会将任何数据从 Model 传递到 View。它只是通知视图从模型本身获取数据。然而,在 MVP 中,View 和 Model 之间没有任何联系。 Presenter 本身从 Model 中获取所需的任何数据并将其传递给 View 以显示。更多内容以及所有架构模式中的 android 示例在这里:digigene.com/category/android/android-architecture
-
它们被称为架构模式而不是设计模式。如果您想知道区别,请查看this
标签: user-interface model-view-controller design-patterns terminology mvp