什么是MVC架构

MVC,Model-View-Controller,强调职责分离。

Model: 负责资料存取(与资料库沟通)与处理和业务逻辑相关的资料。Model不依赖View和Controller。 View: 负责显示资料(UI)。没有程式上的逻辑。View需要存取Model的资料。 Controller: 负责处理讯息、控制应用程式流程、处理事件并作出回应。事件包括使用者的行为(来自View的事件)和Model上的改变。

什么是MVP架构

MVP,Model-View-Presenter。

Model: 负责资料存取(与资料库沟通、请求网络资源)。 View: 负责显示资料(UI),并将使用者的操作传给Presenter。 Presenter: 负责处理业务逻辑,并负责View与Model的沟通。

MVC 与MVP的差异

MVC中的View会直接存取Model的资料;而MVP中的View并不直接与Model沟通,他们之间的沟通都透过Presenter来进行,所有行为都在Presenter内部发生。

什么是MVVM架构

MVVM,Model-View-ViewModel。

Model: 负责资料存取(与资料库沟通、请求网络资源)。 View: 负责显示资料(UI),并将使用者的操作传给Presenter。 ViewModel: 负责处理业务逻辑,并处理接收从View 传来的使用者操作事件、使用Model 提供的方法来处理资料。

MVP 与MVVM的差异

MVVM是由数据(Model)驱动View改变。当资料改变,UI便自动更新。