Android架构进阶(二)——面向对象设计原则与23种设计模式
近期在封装架构的时候,总觉得有些东西直接用显得不够高端,所以纵向适度封装一下,这个时候我就想到了使用设计模式去封装,但是总觉得怕自己掌握的设计模式不够精髓,所以重新学习一下
面向对象7个基本原则
- 单一职责原则:每个类应该专注于做一件事儿。可以降低复杂度,提高可读性,降低变更风险
- 里氏替换原则:超累存在的地方,可以用子类进行替换。基类定义,子类实现,子类对象替换父类对象(Java 的多态特性就遵循这个原则)
- 依赖倒置原则:实现尽量依赖抽象,不依赖具体实现。可以减少类之间的耦合,提高系统稳定性,减少并行引发的风险。
- 接口隔离原则:尽可能提供小的单独的接口,而不是大的总的接口。暴露的行为让后面的实现类知道的越少越好
- 最少知识原则:迪米特法则,一个实体应尽量少于其他实体相互作用。不是直接耦合的类,最好不要出现在其它类的内部作为局部变量
- 开放关闭原则:面向扩展开放,面向修改关闭。封装——是实现开闭原则的最重要的手段
- 聚合复用原则:如果非必要尽量少用继承,使用类中有其他类的对象的方式实现功能传递。复用功能时,首先考虑组合复用,其次才考虑继承
23种设计模式
1、创建型模式:抽象工厂,工厂方法,原型模式,单例模式,建造者模式。
2、结构型模式:适配器模式,桥接模式,组合模式,装饰者模式,外观模式,享元模式,代理模式
3、行为型模式:观察者模式,责任链模式,中介者模式,解释器模式,访问者模式,迭代器模式,备忘录模式,策略模式,命令模式,状态模式,模板方法模式。
创建型模式
此类模式一般用于创建对象
结构型模式
此类型一般在我们设计架构结构时使用
- 适配器模式:
- 桥街模式:
- 组合模式:
- 装饰者模式:
- 外观模式:
- 享元模式:
- 代理模式:
行为型模式
此类型模式一般用于处理或监听用户行为
- 观察者模式:
- 责任链模式:
- 中介者模式:
- 解释器模式:
- 访问者模式:
- 迭代器模式:
- 备忘录模式:
- 策略模式:
- 命令模式:
- 状态模式:
- 模板方法模式: