设计模式研究和学习,Design Pattern study and learn。
为了方便代码演示设计模式,所有设计模式相关的内容均用XCode Playground来编写, 同时运用swift编程语言来描述所有设计模式具体内容
设计模式(design pattern)是对软件设计中普遍存在的各种问题,所提出的解決方案。
-
单一职责原则 定义:不要存在多于一个导致类变更的原因
-
里氏替换原则 定义1:如果对每一个类型为T1的对象o1,都有类型为T2的对象02,使得以T1定义的所有程序P在所有的对象o1都替换成o2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。
定义2:所有引用基类的地方必须能透明地使用其子类对象。
-
依赖倒置原则 定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
-
接口隔离原则 定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。
-
迪米特法则 定义:一个对象应该对其他对象保持最少的了解。
-
开闭原则 定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
设计模式一般分为创建型模式、结构型模式和行为型模式。
抽象工厂模式 工厂方法模式 建造者模式 原型模式 单例模式 惰性初始模式 对象池模式
适配器模式 桥接模式 过滤器模式 组合模式 装饰模式 外观模式 享元模式 代理模式
责任链模式 命令模式 迭代器模式 中介者模式 观察者模式 策略模式 模板方法模式 访问者模式 备忘录模式 解释器模式 状态模式 空对象模式