创建型模式,共五种:
工厂方法模式:略
抽象工厂模式:略
单例模式:略
建造者模式:略
原型模式:Object.copy() 涉及深拷贝、浅拷贝。
结构型模式,共七种:
适配器模式:1.新老交替-尽量避免使用 2.绑定功能 比如ViewHolder
装饰器模式:ContextWrapper 用组装非继承方式修改类
代理模式:待补充
外观模式:计算器启动 避免和子系统直接交互
桥接模式:待补充
组合模式:待补充
享元模式:待补充
行为型模式,共十一种:
策略模式:优惠券、会员卡;
- 策略模式主要用来分离算法,在相同的行为抽象下有不同的具体实现策略。
- 无代理模式代理类
- 只要修改对应是那个子类就可以了
模板方法模式:底层封装
观察者模式:略
迭代子模式:Map、List 知识点。了解即可,在写队列或自己写数组数据结构的使用需要掌握。
责任链模式:ViewGroup事件下发、向上申请要钱;
命令模式:解耦具体执行操作、子类来结偶操作会造成很多类,毕竟命令可能很多。实际操作可能还是swich判断更适合。目前要求了解即可。
- 命令模式把请求一个操作的对象与知道怎么执行一个操作的对象分割开
- 容易实现撤销和重做、记录日志
- 命令类容易扩展(添加新命令不影响其他类)、修改(command 类为abstract或者interface看情况而定)
备忘录模式:无非是创建备忘类属性和对象类类似,用一个管理备忘类Magnger去set get。实际场景较少。
状态模式:集盒购物车订单。
访问者模式:待补充
中介者模式:待补充
解释器模式:待补充