zoukankan      html  css  js  c++  java
  • 23种设计模式之装饰模式(Decorator)

    装饰模式是一种对象结构型模式,可动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。通过装饰模式,可以在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责;当需要动态地给一个对象增加功能,这些功能可以再动态地被撤销时可使用装饰模式;当不能采用生成子类的方法进行扩充时也可使用装饰模式。

    优点:

    1)比静态继承具有更大的灵活性。

    2)避免了特征装载的类处于层次结构的过高级别。

    3)简化了编码,因为用户编写的每一个类都针对功能的一个特定部分,而不用讲所有的行为编码到对象中。

    4)改进了对象的扩展性,因为用户可以通过编写新的类来作出改变。

    使用场景:

    1)想要在单个对象中动态并且透明地添加责任,而这样并不会影响其他对象。

    2)想要在以后可能要修改的对象中添加责任。

    3)当无法通过静态子类化实现扩展时。

    Decorator 模式

  • 相关阅读:
    D. Beautiful Array
    C. Magic Ship Educational Codeforces Round 60 (Rated for Div. 2)
    CCPC-Wannafly Winter Camp Day3 小清新数论(莫比乌斯反演反演加杜教筛)
    杜教筛
    Algorithms Weekly 3
    Algorithms Weekly 2
    Algorithms Weekly 1
    KNN算法实现数字识别
    2019总结
    2019 Google Kickstart Round H
  • 原文地址:https://www.cnblogs.com/guwei4037/p/6689366.html
Copyright © 2011-2022 走看看