设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
设计模式按大功能分有三大类: 创建型、结构型、行为型。
创建型有五种 :工厂方法模式、 抽象工厂模式、 单例模式、 建造者模式、 原型模式。
结构型有七种 : 适配器模式、 装饰器模式、 代理模式、 外观模式、 桥接模式、 组合模式、 享元模式。
行为型有十一种 :策略模式、 模板方法模式、 观察者模式、 迭代子模式、 责任链模式、 命令模式、 备忘录模式、 状态模式、 访问者模式、 中介者模式、 解释器模式。
还有另外两类: 并发型模式和线程池模式
设计模式具有六大原则:
1.开闭原则: 开闭原则是对扩展开放,对修改关闭
2.里氏代换原则: 任何基类可以出现的地方, 子类也一定可以出现
3.依赖倒置原则: 针对接口编程, 依赖与抽象而不依赖于具体
4.接口隔离原则:使用多个隔离接口,比单个接口要好,可以降低类之间的耦合度
5.迪米特法则: 一个实体应当尽量少的与其他实体之间发生相互作用,使得系统模块相对独立
6.合成复用原则: 尽量使用合成/聚合方式,而不是使用继承