您的位置:首页 > 其它

mvc mvp mvvm 概说

2017-07-08 09:31 246 查看
(图片是借鉴别的博客的)

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: