设计模式(一)

来源:互联网 发布:数据库事务特性 编辑:程序博客网 时间:2024/05/16 07:05

设计模式(一)

模板方法模式

  • 定义

    定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变这个算法的结构即可重定义该算法的的特点步骤。

    ​ ——《设计模式》

    当一个对象有固定不变的步骤而其中有一些步骤的内容是经常改变时,可以将这些步骤设为抽象方法从而将这些变化放到不同的子类中,使得稳定的代码能够复用。

  • UML图

    模板方法.png

策略模式

  • 定义

    定义一系列算法,将他们一个个封装起来,并且使他们之间可相互替换。该模式使算法可独立于使用它的客户端而变化。

    ​ ——《设计模式》

    当对象使用的算法经常改变时,使用策略模式将算法封装起来,以到达解耦的目的。

  • UML图

    strategy

观察者模式

  • 定义

    定义对象间的一种以对多的依赖关系,以便当一个对象的状态改变时,通知其他对象并自动更新。

    ​ ——《设计模式》

    当对象之间是”通知依赖关系“时,使用接口回调,减少对象之间的依赖。

  • UML图

    observer

装饰模式

  • 定义

    动态的给对象增加一些额外的职责,就增加功能而言比生成子类的方式更灵活。

    ​ ——《设计模式》

    在创建对象时如果子类有多个变化方向,可能会导致子类数量的的急剧膨胀,将继承转为组合使代码有更好的复用性和灵活性。装饰模式遵从单一职责模式。

  • UML图

工厂方法 

  • 定义

    定义一个用于创建对象的接口,让子类决定实列化那一个对象,使实列化延迟到子类。

    ​ ——《设计模式》

    由于需求的变化需要创建的对象经常变化,通过工厂方法绕开new,将编译时依赖转变为运行时依赖。

  • UML图

    factoryMethod

0 1