软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
设计模式是针对特定上下文的特定问题的解决方案,这种解决方案被抽象化、模版化,就是设计模式。
按照设计模式的目的进行划分:
类别内容举例创建型模式通过抽象类所定义的接口,封装了系统中对象如何创建、组合等信息单例Singleton模式:
工厂方法模式:https://www.jianshu.com/p/6dfb5b66d088
抽象工厂模式:https://www.jianshu.com/p/610a26d9d958
建造者Builder模式:https://www.jianshu.com/p/32ade9a78565
原型Prototype模式:
结构型模式主要用于如何组合自己有的类和对象以获得更大的结构适配器Adapter模式:https://www.jianshu.com/p/be63a13feff0
装饰器Decorator模式:https://www.jianshu.com/p/45f8d85b913a
代理Proxy模式:https://www.jianshu.com/p/f57a8f59fdf0
外观Facade模式:https://www.jianshu.com/p/6c4441e441ca
桥接模式:
组合模式:
享元Flyweight模式:
行为型模式主要用于对象之间的职责及其提供服务的分配方式观察者Visitor模式:https://www.jianshu.com/p/b65e39dae520
策略模式:https://www.jianshu.com/p/237d9ffeaf36
模板方法模式:
迭代子模式:
责任链模式:
命令Command模式:
备忘录模式:
状态模式:
访问者Visitor模式:
中介者模式:
解释器模式:
