设计模式的概念最早是由一名建筑师提出来的,他试图在图纸上用一种结构化、可重用化的方法,获得建筑的基本要素,从而可以将更多的精力放在具体建筑物和城镇的设计上。逐渐的,这种思想在软件领域流行起来,并获得发展。
为什么需要设计模式
首先,它可以提升个人的编程能力、思维能力和设计能力,极大提高工作效率,让个人获得更大发展空间;
其次,对于企业,应用设计模式可使软件产品质量得到保证,系统稳定性大大提升,为企业创造出更多的利润上升空间;
最后,个人和企业都在不断地发展壮大,自然会创造出更多的社会价值,为社会作出更多的贡献。
实践是需要理论知识积累的。要想正确应用各种设计模式,首先需要学习设计模式,掌握设计模式的实现要点,最重要的是在学习设计模式当中掌握软件设计原则。设计模式是前人的实践经验总结出来的,具有固定的实现方式,但是设计原则是活的,是需要我们认真体会和领悟的。
设计模式的分类
创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:
工厂方法模式(Factory Method Pattern)
抽象工厂模式(Abstract Factory Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)
单例模式(Singleton Pattern)
结构型模式
结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式:
适配器模式(Adapter Pattern)
桥接模式(Bridge Pattern)
组合模式(Composite Pattern)
装饰者模式(Decorator Pattern)
外观模式(Facade Pattern)
享元模式(Flyweight Pattern)
代理模式(Proxy Pattern)
行为型模式
行为型模式用来对类或对象怎样交互和怎样分配职责进行描述,主要包含以下11种设计模式:
责任链模式(Chain of Responsibility Pattern)
命令模式(Command Pattern)
解释器模式(Interpreter Pattern)
迭代器模式(Iterator Pattern)
中介者模式(Mediator Pattern)
备忘录模式(Memento Pattern)
观察者模式(Observer Pattern)
状态模式(State Pattern)
策略模式(Strategy Pattern)
模板方法模式(Template Method Pattern)
访问者模式(Visitor Pattern)