设计模式之装饰模式_装饰器模式和责任链模式

设计模式之装饰模式_装饰器模式和责任链模式装饰器模式简介_设计模式壁纸

一、定义

装饰器模式,能够动态的给一个对象添加一些额外的职责;就增加功能来说,装饰器模式比生成子类更为灵活。

能够以对客户端透明的方式来扩展对象的功能,是继承关系的一种替代方案。

其结构可用下图表示,(注:此图来自《大话设计模式——程杰》)

设计模式之装饰模式_装饰器模式和责任链模式

设计模式之装饰模式_装饰器模式和责任链模式

二、主要作用

如果不用装饰器模式,当系统需要新功能的时候,可以向旧的类中添加新代码,这些新代码装饰了原有类的核心职责和主要行为。但是在主类中增加新的字段,新的方法,会增加主类的复杂性。而且通常这些新加的特性和方法只在某些特殊的情况下才会用到。

装饰器模式提供了一种很好的解决方案,它把每个要装饰的功能放在单独的类中,并让这个类包装它所需要的装饰的对象,因此,当需要执行特殊行为时,就可以在运行时有选择的利用装饰功能来包装对象了。

三、应用

1、在Java I/O库中的应用

下图取自《Java与模式》之装饰模式一文。

设计模式之装饰模式_装饰器模式和责任链模式

设计模式之装饰模式_装饰器模式和责任链模式

今天的文章
设计模式之装饰模式_装饰器模式和责任链模式分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/89695.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注