(图片是借鉴别的博客的)
mvc m=model (数据) v= view(xml布局) c=controller (activity) 他们之间的关系如下图
早期将VIew、Model、Controller代码块进行划分,使得程序大部分分离,降低耦合。
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)来进行的。
他们之间的关系如下图
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更新。
他们之间的关系如下图
http://www.cnblogs.com/longjunhao/p/5860353.html
http://blog.csdn.net/u012702547/article/details/52077515