mvc mvp mvvm 概说

来源:互联网 发布:php app接口开发步骤 编辑:程序博客网 时间:2024/06/05 09:01

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

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

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

mvc


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)来进行的。

他们之间的关系如下图 

mvp

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更新。

他们之间的关系如下图


mvvm

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

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




原创粉丝点击