一、背景
设计模式最初不是出现在软件设计中,而是被用于建筑领域的设计当中。
1990年软件工程界开始研讨设计模式的话题,到1995年,直到1995年,艾瑞克·伽马(ErichGamma)、理查德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)等4位作者合作出版了《设计模式:可复用面向对象软件的基础》一书,在此书中收录了23个设计模式,这是设计模式领域里程碑的事件,导致了软件设计模式的突破。这4位作者在软件开发领域里也以他们的四人组”(Gang of Four,GoF)著称。 1990年年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会.直到1995年,艾瑞克:·伽马(ErichGamma)、理查德·海尔姆(Richard Helm)、拉尔夫·约翰森(拉尔夫·约翰逊)、约翰·威利斯迪斯(John Vlisside)等4位作者合作出版了《设计模式:可复用面向对象软件的基础》一书,在此书中收录了23个设计模式,这是设计模式领域里程碑的事件,导致了软件设计模式的突破。这4位作者在软件开发领域里也以他们的四人组“(四人帮)著称。
二、设计模式概念
软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓,经过分类编目的、代码设计经验的总结。描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,这是解决特定问题的一系列的套路,是代码设计经验的总结,具有一定的普遍性、可以反复使用。
三、设计模式的优点
设计模式的本质是面向对象设计原则的实际应用,是对类的封装、继承、多态以及类的关联关系的充分理解。
优点:
1.可以提高程序猿的思维能力、编程能力和设计能力。
2.使程序设计更加标准化、代码编制工程化、使软件开发的效率大大提高,从而缩短软件的开发周期
3.使代码的可重用性提高、可读性更强、可靠性高、灵活性好、可维护性强。
四、设计模式分类
设计模式分为三大类 :创建型模式、结构型模式、行为型模式。
1.创建型模式:
主要用于描述“怎么创建对象”,特点是“将对象的创建与使用分离”,主要有-单例模式、原型模式、工厂方法模式、抽象工厂模式、建造者模式等5种创建型模式;
2.结构型模式:
用于描述“如何将类或对象按照某种布局组成更大的结构”,主要有-代理模式、适配器模式、桥接模式、装饰模式、外观模式、享元模式、组合模式等7种结构型模式;
3.行为型模式:
用于描述“类和对象之间怎与相互协作、共同完成单个对象无法单独完成的任务,以及怎么分配职责”。主要有-模板方法模式、策略模式、命令模式、职责链模式、状态模式、观察者模式、中介这模式、迭代器模式、访问者模式、备忘录模式、解释器模式等11种行为型模式。
来自于黑马