MVC MVP MVVM

mvc
模型层(Model) 视图层(View) 控制层(Controller)
优点:模块分离、代码清晰,便于维护
mvp
模型层(Model) 视图层(View) 逻辑处理层(Presenter)
优点:解耦,降低模块之间的依赖。view由Activity承担,Presenter做业务,结构清晰。
mvvm
单向绑定上,数据的流向是单方面的,只能从代码流向UI;双向绑定的数据流向是双向的,当业务代码中的数据改变时,UI上的数据能够得到刷新;当用户通过UI交互编辑了数据时,数据的变化也能自动的更新到业务代码中的数据上。对于双向绑定,刚好可以使用DataBinding,DataBinding是一个实现数据和UI绑定的框架,是构建MVVM模式的一个关键的工具。所以Android中实现MVVM就方便多了。

你可能感兴趣的:(MVC MVP MVVM)