美文网首页
装饰者模式

装饰者模式

作者: 架构路上的一亩三分地 | 来源:发表于2017-03-15 17:32 被阅读0次
    装饰者模式

    动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。

    • 装饰者模式同时应用了继承、组合与委托
    • 装饰者模式为设计注入了弹力,但同时加入了大量的装饰者类,用来包装具体组件,可能增加程序复杂性
    • 装饰者类反映出被装饰的组件类型,通常有相同的基类
    • 装饰过程中类的类型发生了改变,故依赖特定类型的代码会发生错误
    • 装饰者模式配合工厂模式或者生成器模式,可以简化组件的实例化
    • 装饰者可以在被装饰者行为的前后加入行为,甚至替代原行为

    java.io是装饰者模式的经典应用。

    java.io 部分类图
    • PushbackInputStream装饰的InputStream具有回退输入流的功能。
    • BufferedInputStream装饰的InputStream采用缓冲区提高效率。
    • DataInputStream装饰的InputStream可以直接读写primitive类型。
    • LineNumberInutStream装饰的InputStream记提供跟踪当前行号的附加功能。

    相关文章

      网友评论

          本文标题:装饰者模式

          本文链接:https://www.haomeiwen.com/subject/csnlnttx.html