本文实例讲述了Java设计模式之装饰模式原理与用法。分享给大家供大家参考,具体如下:
装饰模式能在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。JDK中IO的设计就用到了装饰模式,通过过滤流对节点流进行包装来实现功能的扩展。
装饰模式的角色的组成:
① 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加工功能的对象。(InputStream、OutputStream)
② 具体构件(Concrete Component)角色:定义一个将要接收附加功能的类。(节点流)
③ 装饰(Decorator)角色:持有一个构件(Component)对象的实例,并实现一个与抽象构件接口一致的接口。(过滤流FilterInputStream、FilterOutputStream)
④ 具体装饰(Concrete Decorator)角色:负责给构件对象添加上附加的功能。(带具体附加功能的过滤流,BufferedInputStream,DataInputStream等)
以下给出一个装饰模式的简单的例子:
1. 抽象构件角色:定义一个接口Component
package com.tydic.decorator; //抽象构件角色 public interface Component { public void doSomething(); }
网站名称:Java设计模式之装饰模式原理与用法实例详解-创新互联
网站路径:https://www.cdcxhl.com/article22/djsojc.html
成都网站建设公司_创新互联,为您提供移动网站建设、关键词优化、全网营销推广、品牌网站设计、建站公司、网站维护
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联