常有人调侃设计模式:语言留下的坑,就要设计模式来填。
设计模式就是描述在各种不同情况下,要怎么解决问题的一种方案。
对于一些项目,我们不可能做到一次开发终身使用,而是随着需求的不断增多,我们需要对程序进行不断地修改,以此来适应新的需求,通过好的设计模式,可以使我们程序松耦合,减少彼此之间的依赖,从而使其扩展性更强,大大减少后期维护成本,降低后期开发难度。
设计模式分类
设计模式按照其目标进行分类可以分为创建型, 结构型,行为型
创建型
-
单例模式(Singleton)
-
生成器模式(Builder)
-
原型模式(Prototype)
-
抽象工厂模式(Abstract Factory)
-
工厂方法模式(Factory Method)
行为型
-
策略模式(Strategy)
-
状态模式(State)
-
责任链模式(Chain of Responsibility)
-
解释器模式(Interpreter)
-
命令模式(Command)
-
观察者模式(Observer)
-
备忘录模式(Memento)
-
迭代器模式(Iterator)
-
模板方法模式(Template Method)
-
访问者模式(Visitor)
-
中介者模式(Mediator)
结构型
-
装饰者模式(Decorator)
-
代理模式(Proxy)
-
组合模式(Composite)
-
桥连接模式(Bridge)
-
适配器模式(Adapter)
-
蝇量模式(Flyweight)
-
外观模式(Facade)