Java基础之装饰设计模式理解
2013-01-29 14:34
267 查看
装饰设计模式:
当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能!
那么,自定义的该类称为装饰类。
装饰类通常会通过构造方法接收被装饰的对象。
并基于被装饰的对象的功能,提供更强的功能。
装饰模式比继承要灵活,避免了继承体系的臃肿,而且降低了类与类之间的关系。
装饰类因为增强已有对象,具备的功能和已有的相同的,只不过提供了更强的功能。
所以装饰类和被装饰类通常都是属于同一个体系中。
MyReader // 专门用于读取数据的类
|--- MyTextReader //文本读取
|--- MyMediaReader //媒体读取
|--- MyDataReader //数据读取
|--- MyBufferReader //缓冲读取(装饰类,用于给MyTextReader、MyMediaReader、MyDataReader增强缓冲功能)
class MyReader
{
}
class MyTextReader extends MyReader
{
}
class MyMediaReader extends MyReader
{
}
class MyDataReader extends MyReader
{
}
class MyBufferedReader extends MyReader
{
private MyReader myReader = null;
public MyBufferedReader(MyReader myReader)
{
this.myReader = myReader;
}
//增加缓冲功能
}
当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能!
那么,自定义的该类称为装饰类。
装饰类通常会通过构造方法接收被装饰的对象。
并基于被装饰的对象的功能,提供更强的功能。
装饰模式比继承要灵活,避免了继承体系的臃肿,而且降低了类与类之间的关系。
装饰类因为增强已有对象,具备的功能和已有的相同的,只不过提供了更强的功能。
所以装饰类和被装饰类通常都是属于同一个体系中。
MyReader // 专门用于读取数据的类
|--- MyTextReader //文本读取
|--- MyMediaReader //媒体读取
|--- MyDataReader //数据读取
|--- MyBufferReader //缓冲读取(装饰类,用于给MyTextReader、MyMediaReader、MyDataReader增强缓冲功能)
class MyReader
{
}
class MyTextReader extends MyReader
{
}
class MyMediaReader extends MyReader
{
}
class MyDataReader extends MyReader
{
}
class MyBufferedReader extends MyReader
{
private MyReader myReader = null;
public MyBufferedReader(MyReader myReader)
{
this.myReader = myReader;
}
//增加缓冲功能
}
相关文章推荐
- 黑马程序员——JAVA基础之装饰设计模式
- 黑马程序员——学习Java基础之 io LineNumberReader 之装饰设计模式
- Java基础之IO流,装饰设计模式的应用之行号、缓冲读取文本文件
- Java_基础—装饰设计模式
- 黑马程序员_Java基础_装饰设计模式
- Java基础--IO流02(字符缓冲区、字节流、装饰设计模式)
- Java基础-装饰设计模式、装饰与继承的区别
- 《Java编程思想_ 深入理解java虚拟机_Thinking in java__Effiect java__设计模式》学习笔记7——泛型编程基础
- Java基础之装饰设计模式
- 黑马程序员——Java基础——IO流、字符流、字节流、缓冲区技术、装饰设计模式、LineNumberReader等
- java基础47 装饰着模式设计
- 黑马程序员:Java基础总结----装饰设计模式
- Java基础知识IO流(装饰设计模式)
- Java基础-IO流4 装饰设计模式
- 15.Java基础:设计模式----->装饰模式
- Java基础---Java---IO流-----BufferedReader、BufferedWriter、缓冲区、装饰设计模式及和继承的区别
- Java基础---Java---IO流-----BufferedReader、BufferedWriter、缓冲区、装饰设计模式及和继承的区别
- 源自老毕Java基础教程--装饰设计模式
- Java基础 - IO流之字符流,FileReader,FileWriter,BufferedReader,BufferedWriter,装饰设计模式,编码表
- Java基础---Java---IO流-----BufferedReader、BufferedWriter、缓冲区、装饰设计模式及和继承的区别