(图片是借鉴别的博客的)

mvc    m=model  (数据)   v= view(xml布局) c=controller  (activity)    他们之间的关系如下图

早期将VIew、Model、Controller代码块进行划分,使得程序大部分分离,降低耦合。

mvc mvp mvvm 概说


mvp m=model  (数据)   v= view(xml布局和activity) p=presenter(专门操作V 和C 的交互,p和c之间通过接口传递) //我感觉mvp就是一个接口回调

/**
 * 1.写一个接口类 里面是你所需要实现的功能
 * 2.写个一个功能类,有参构造(传入接口的引用 调用接口的方法)
 * 3.activity 实现接口,重写方法,里面写上要实现的功能,功能类实例化,然后进行你需要的操作
 */

由于MVC中View和Model之间的依赖太强,导致Activity中的代码过于臃肿。为了他们可以绝对独立的存在,慢慢演化出了MVP。在MVP中View并不直接使用Model,它们之间的通信是通过 Presenter (MVC中的Controller)来进行的。

他们之间的关系如下图 

mvc mvp mvvm 概说

http://blog.csdn.net/lmj623565791/article/details/46596109  


mvvm   m=model  (数据)   v= view(xml布局和activity)v=viewModel(在于m与V 之间的双向绑定)    

MVVM可以算是MVP的升级版,将 Presenter 改名为 ViewModel。关键在于View和Model的双向绑定,当View有用户输入后,ViewModel通知Model更新数据,同理Model数据更新后,ViewModel通知View更新。

他们之间的关系如下图


mvc mvp mvvm 概说

http://www.cnblogs.com/longjunhao/p/5860353.html   

http://blog.csdn.net/u012702547/article/details/52077515




相关文章: