本书专门介绍Android源代码的设计模式,共26章,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介者模式、代理模式、组合模式、适配器模式、装饰模式、享元模式、外观模式、桥接模式,以及MVC的介绍与实战和MVP应用架构模式。
1、安卓MVVM模式以及数据的请求与缓存MVVM模式就相当于把ViewModel改名为Presener,其他基本相同。在ViewModel中处理数据逻辑,调用数据请求。但它和MVP的区别是可以双向绑定,ViewModel中数据的改变可以直接反应在View上,而View的修改也可以影响ViewModel,这样就省去Presenter和View之间的大量的调用接口。
这个类主要用来保存View的数据,一般在Activity的onCreate()方法中初始化ViewModel,但如果第二次调用onCreate(),那获取到的ViewModel依然是第一次生成的那个实例,这就保证了数据的连贯。一般使用的场景为当屏幕旋转时,Activity会重新调用onCreate()方法,但这时ViewModel依然能保存之前的数据。
2、JS常用设计模式(MVC、MVP、MVVM及其他设计模式一、MVCMVC模式的意思是,软件可以分成三个部分。视图(View):用户界面。控制器(Controller):业务逻辑模型(Model):数据保存各部分之间的通信方式如下。View传送指令到ControllerController完成业务逻辑后,要求Model改变状态Model将新的数据发送到View,用户得到反馈所有通信都是单向的。
一种是通过View接受指令,传递给Controller。另一种是直接通过controller接受指令,三、实例:Backbone实际项目往往采用更灵活的方式,以Backbone.js为例。1.用户可以向View发送指令(DOM事件),再由View直接要求Model改变状态,2.用户也可以直接向Controller发送指令(改变URL触发hashChange事件),再由Controller发送给View。