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

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

    优点:

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

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

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

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

    使用场景:

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

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

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

    Decorator 模式

  • 相关阅读:
    pku2226 Muddy Fields
    pku3715 Blue and Red
    关于二分图的最大权匹配
    pku 2262&& pku 2739 && pku 3006
    pku2060 Taxi Cab Scheme
    pku 1486 Sorting Slides
    id、css命名规范
    Git 常用命令
    sublime text3插件使用
    Java实现数据结构栈stack和队列Queue
  • 原文地址:https://www.cnblogs.com/guwei4037/p/6689366.html
Copyright © 2011-2022 走看看