• 浅谈设计模式


    什么是设计模式?

    定义:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。

    现在主要的有23种经典设计模型,当然不仅仅只有这23种,随着软件开发技术的发展,将会有越来越多的新模式不断诞生并得以应用。

    设计模式一般包含模式名称、问题、目的、解决方案、效果等组成要素,其中关键要素是模式名称、问题、解决方案和效果。

    模式名称通过一两个词来描述模式的问题、解决方案和效果,以便更好地理解模式并方便开发人员之间的交流,绝大多数模式都是根据其功能或模式结构来命名的(GoF设计模式中没有一个模式用人名命名);

    问题(Problem)描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因;

    解决方案(Solution)描述了一个设计模式的组成成分,以及这些组成成分之间的相互关系,各自的职责和协作方式,通常解决方案通过UML类图和核心代码来进行描述;

    效果(Consequences)描述了模式的优缺点以及在使用模式时应权衡的问题。

       

     设计模式可分为

    创建型(Creational):创建型模式主要用于描述如何创建对象

    结构型(Structural):结构型模式主要用于描述如何实现类或对象的组合

    行为型(Behavioral):行为型模式主要用于描述类或对象怎样交互以及怎样分配职责

    在GoF23种设计模式中包含5种创建型设计模式、7种结构型设计模式和11种行为型设计模式。

    根据处理关系来划分

    用于处理类之间的关系:类模式

    用于处理对象之间的关系:对象模式。

    我们经常将两种分类方式结合使用,如单例模式是对象创建型模式,模板方法模式是类行为型模式。

        常用设计模式一览表

    类型

    模式名称

    学习难度

    使用频率

    创建型模式

    Creational Pattern

    单例模式

    Singleton Pattern

    ★☆☆☆☆

    ★★★★☆

    简单工厂模式

    Simple Factory Pattern

    ★★☆☆☆

    ★★★☆☆

    工厂方法模式

    Factory Method Pattern

    ★★☆☆☆

    ★★★★★

    抽象工厂模式

    Abstract  Factory Pattern

    ★★★★☆

    ★★★★★

    原型模式

    Prototype Pattern

    ★★★☆☆

    ★★★☆☆

    建造者模式

    Builder Pattern

    ★★★★☆

    ★★☆☆☆

    结构型模式

    Structural Pattern

    适配器模式

    Adapter Pattern

    ★★☆☆☆

    ★★★★☆

    桥接模式

    Bridge  Pattern

    ★★★☆☆

    ★★★☆☆

    组合模式

    Composite  Pattern

    ★★★☆☆

    ★★★★☆

    装饰模式

    Decorator  Pattern

    ★★★☆☆

    ★★★☆☆

    外观模式

    Façade  Pattern

    ★☆☆☆☆

    ★★★★★

    享元模式

    Flyweight  Pattern

    ★★★★☆

    ★☆☆☆☆

    代理模式

    Proxy  Pattern

    ★★★☆☆

    ★★★★☆

    行为型模式

    Behavioral Pattern

    职责链模式

    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

    ★★★★☆

    ★☆☆☆☆

      

  • 相关阅读:
    php 23种设计模型
    PhpStrom 常用的插件
    PhpStrom 好用的代码小地图插件
    php 23种设计模型
    phpstrom怎样显示类的方法或函数列表
    超好用的谷歌助手插件
    PhpStrom 好用的翻译插件
    php 23种设计模型
    【java】匿名对象
    【java】类的初识
  • 原文地址:https://www.cnblogs.com/taostaryu/p/9336040.html
Copyright © 2020-2023  润新知