23种设计模式
2019-08-08 本文已影响0人
天空在微笑
github上找的 23种设计模式 Awesome-Android-Notebook
Android源码设计模式分析项目
youlookwhat/DesignPattern
1.创建性模式
单例模式
工厂模式
建造者模式
2.结构性模式
代理模式
3.行为性模式
观察者模式
责任链模式
一、设计模式六大原则
设计模式有六大原则,如下所示:
- 单一职责原则
- 开放封闭原则
- 里氏替换原则
- 依赖倒置
- 迪米特原则
- 接口隔离原则
单一职责原则
一个类应该仅有一个引起它变化的原因,即不要让一个类承担过多的职责,以此降低耦合性。
开放封闭原则
类、函数、模块应该是可以扩展的,但是不可以修改,即对扩展开放,修改封闭。
里氏替换原则
所有引用基类的地方都能透明地替换为子类对象,即可以在定义时尽量使用基类对象,等到运行时再确定其子类类型,用子类对象来替换父类对象。
依赖倒置原则
高层、底层模块、模块间和细节都应该依赖于抽象,即通过接口或抽象类产生依赖关系。
迪米特原则
一个软件实体应该尽可能少地与其它实体发生相互作用,即最少知识原则。
如果一个对象需要调用其它对象的某个方法,可以通过第三者来调用,这个第三者的作用就如Android中的事件总线EventBus一样。
接口隔离原则
一个类对另一个类的依赖应该建立在最小的接口上。
二、设计模式分类
GoF提出的设计模式有23种,按照目的准则分类,有三大类:
- 创建性设计模式5种:单例、工厂方法、抽象工厂、建造者、原型。
- 结构型设计模式7种:适配器、装饰、代理、外观、桥接、组合、享元。
- 行为型设计模式11种:策略、模板方法、观察者、迭代器、责任链、命令、备忘录、状态、访问者、中介者、解释器。