装饰器模式增加了被装饰对象相应方法功能。
//公共接口
interface SellInterface{
public void sell();
}
//被装饰类
class RadWineFactory implements SellInterface{
public void sell(){
System.out.println("RadWineFactory.sell()");
}
}
//装饰类
class DecorateFactory implements SellInterface{
SellInterface realObj;
public DecorateFactory(SellInterface realObj){
this.realObj=realObj;
}
public void sell(){
realObj.sell();
}
}
//具体装饰类
class SimpleDecorator extends DecorateFactory{
SellInterface realObj;
public SimpleDecorator(SellInterface realObj){
super(realObj);
}
public void sell(){
System.out.println("SimpleDecorator: do some other things");
super.sell();
System.out.println("SimpleDecorator: do some other things again");
}
}
//测试代码
public class DecorateTest{
public static void main(String[] args){
SellInterface obj=new SimpleDecorator(new RadWineFactory());
obj.sell();
}
}
---------------------------------------------------------------------------------------------------------------------------------
java.io包中的BufferedReader类就实现了对Reader类的包装,以下文字摘自java doc:
通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,
BufferedReader in = new BufferedReader(new FileReader("foo.in"));
将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。
分享到:
相关推荐
54-Spring设计模式之装饰器模式1
c++设计模式-结构型模式-装饰器模式;QT工程;c++简单源码; 装饰器(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。
ios平台中通过最简单的代码讲解装饰器模式,可在博客http://blog.sina.com.cn/s/blog_161d504630102wxis.html中查看简单解释
30 丨 装饰器模式:如何优化电商系统中复杂的商品价格策略?.html
2 装饰器模式-MOOC课程内容.pdf
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在...
本工程是使用demo构建装饰器,以及装饰器的使用案例。 从最简单的装饰器到带参数的,带任意参数的,到类装饰器等。代码案例比较全。可作为学习参考与交流。
装饰模式 PPT 前端 javascript 讲解了装饰模式在前端的运用,举例说明,ppt内的代码连起来可执行
NULL 博文链接:https://alaric.iteye.com/blog/1911949
java常用设计模式-装饰器模式
7. 装饰器模式1
装饰器模式,设计模式.
简单了说明,并用代码的方式解释了什么是装饰器模式,方便想要学习设计模式的童靴可以更好的学习和掌握设计模式,是自己的代码变得更高效和优雅
控制访问,装饰器设计的四个名词,装饰器模式与代理模式的区别,
这也是我们在第 10 节中讲的不推荐使用继承的原因。基于装饰器模式的设计方案在第 10 节中,我们还讲到“组合优于继承”,可以“使用组合来替代继承”。针对刚刚的
装饰器模式.xmind
Python实现适配器模式、装饰器模式、代理模式
《C++20设计模式》学习笔记-第9章装饰器模式-配套代码
东北大学设计模式实验 实现单例模式,组合模式,Builder模式,装饰器模式,并使用设计模式实现赌场
装饰器模式实现简单demo