1数字技术
设计开发叶
实现对Presenter的测试。在MVC模式中测试和维护较难解
决的问题,在MVP中都解决了。
23MVVM
JlP
整Android应用中的MVVM是在2015年Google的IO大会
体上推出的。提到MVVM,大多数开发者都会想Data
晓一~麟龇羝繁Binding,DataBinding是Google官方推出的一个基于
构
腰逝一~~~~耀缴件一统MVVM设计模式实现的框架,MVVM可以实现视图和逻辑
代码的超级解耦,按照G00gle的说法,使用了MVVM的开
发模式,还可以提高布局文件的解析速度。从图3中可以看
到,MVVM和MVP的结构上区别不大,Presenter层换成了
图4APP整体架构
ViewModel层,View层和ViewModel层是相互绑定的关系,
这意味着当更新ViewModel层的数据的时候,View层的UI
鹾;会相应的变动。
在MVVM设计模式中,通过ViewModel和View的映
务{碰埘塌射,完成了View和Model的双向绑定。View的事件直接传
递~1]ViewModel,ViewModel去ReModel进行操作并接受更
敞:新。进而反馈到View上。相比于MVP去掉了Presenter,但
VieW层略显过重,同时View的复用成为了一个新的问题。
一..、i.一2.4分析比较
图5应用层架构经过上面的分析,可见MVC已不太适用Android等移
itY控制器并不是完全分离的,也就是说一部分View视图动应用的开发设计中了,相比来说MVP和MVVM是更适合
和Controller控制器Activity是绑定在一个类中的。在移动应用的开发中使用,MVP和MVVM这两个MVC的
MVC在Web开发中使用极为广泛‘,但使用在Android升级延续孰优孰劣,并没有结论,还是要根据具体的项目、
中,问题还是较多的,Xml布局文件作为视图层,控制能力具体产品来分析。
较弱,如果动态的去改变界面,只能把代码写在ACtivitY
3整体架构的设计与实现
中,这就造成了Activity既是Controll