根据其目的可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种
根据其范围,模式主要是用于处理类之间的关系还是处理对象间的关系可以分为类模式(静态)和对象模式(动态)两种
创建型:主要用于创建对象
1.工厂方法模式 2.抽象工厂模式 3.建造者模式 4.单例模式 5.原型模式
结构型:主要用于处理类或对象的组合
1.适配器模式 2.桥接模式 3.装饰模式 4.外观模式 5.享元模式 6.组合模式 7.代理模式
行为型:主要用于描述对类或对象怎样交互和怎样分配职责
1.职责链模式 2.命令模式 3.解释器模式 4.迭代器模式 5.模板方法模式 6.观察者模式 7.状态模式 8.备忘录模式 9.访问者模式 10.中介者模式 11.策略模式
设计模式的优点:
1.设计模式融合了众多专家的经验,以一种标准的形式供广大开发人员使用,使设计方案更加通俗易懂。
2.设计模式使人们可以更加简单方便地复用成功的设计和体系结构
3.设计模式使设计方案更加灵活,且易于修改
4.设计模式的使用将提高软件系统的开发效率和软件质量,且在一定程度上节约设计成本
5.设计模式有助于初学者更深入的理解面向对象思想
GoF归纳发表了23种设计模式