Android 架构

MVC是模型(model)-视图(view)-控制器(controller)的缩写,用一种业务逻辑、数据、界面显示分离的方法组织代码。其中M层处理数据,业务逻辑等;V层处理界面的显示结果;C层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层。   降低了代码间的耦合性,分工明确
缺点:随着界面及其逻辑的复杂度不断提升,Activity类的职责不断增加,以致变得庞大臃肿
MVP是模型(model)-视图(view)-协调者(presenter)的缩写。MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Model
模型层(M):负责存储,检索以及操纵数据。
视图层(V):负责绘制UI,与用户进行交互(在Android中体现为Activity)
协调者(P):作为View与Model交互的中间纽带,处理与用户交互的负责逻辑
MVVM
ViewModel层做的事情刚好和View层相反,ViewModel 只做和业务逻辑和业务数据相关的事,不做任何和UI、控件相关的事,DataBinding 框架已经支持双向绑定,这使得我们在可以通过双向绑定获取View层反馈给ViewModel层的数据,并进行操作

你可能感兴趣的:(android)