MVC MVP MVVM databinding之初步区分选择

 

                                    

今天九一八,前段时间日本右翼访问台湾踢了慰安妇雕像,果然没让所有中国人失望:日本部分禽兽不如的玩意……算了,去他妈的!

 

本人也是初步认识这些模式,如有不明白或者建议请联系小弟:

 QQ群:88627109

参考对象:

https://www.cnblogs.com/icebutterfly/p/7977033.html

阅读对象:

       对这些模式一直不清不楚的小白们。

 

 

 

长久以来根据对项目的分析,整个应用可分为 界面、业务逻辑、数据访问。

 

   

2 分层的优势和劣势

   优势:结构清晰、耦合度低,

             可维护性高,可扩展性高;

             利于开发任务同步进行;容易适应需求变化

  劣势:增加了代码量,增加了工作量,增加了复杂度,改动复杂

 

MVC

       MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码。

 

View: xml

            View可以直接调用Model查询其状态信息,

            而Model也可以在自己的状态发生改变时,主动通知View

Model: 业务层

Controller: 是M和V之间的连接器,代码在activity、fragment中

 

MVP

    MVP 全称:Model-View-Presenter ;

   共同点:MVP 是从经典的模式MVC演变而来,Presenter负责逻辑的处理,Model提供数据,View负责显示。

   区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。

                                             

                                                        

MVVM

    MVVM是Model-View-ViewModel的简写。本质上就是MVC 的改进版,区别是:绑定!

    因为WPF技术(微软提出)出现,从而使MVC架构模式有所改进,MVVM 模式便是使用的是数据绑定基础架构。

    View绑定到ViewModel,然后执行一些命令在向它请求一个动作。反过来,ViewModel跟Model通讯,告诉它更新来响应UI。

 

                            
     

总结:

MVP 里的M 其实和MVC里的M是一个,都是封装了核心数据、逻辑和功能的计算关系的模型,而V是视图(窗体),P就是封装了窗体中的所有操作、响应用户的输入输出、事件等,与MVC里的C差不多,区别是MVC是系统级架构的,而MVP是用在某个特定页面上的,也就是说MVP的灵活性要远远大于MVC,实现起来也极为简单。

作为与MVP极为相似的MVVM,因为谷歌退出了databinding,省略了大量代码的同时,让MVVM的实现更加简洁。

以上是对MVP、MVC、MVVM设计模式的初步理解,如有疑问请进群询问: 

QQ群: 88627109

 

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值