/*
MyReader // 专门用于读取数据的类。
|---- MyTxetReader
|----MyBufferedTextReader
|---- MyMediaReader
|----MyBufferedMediaReader
|---- MyDataReader
|----MyBufferedDataReader
class MyBufferedReader
{
MyBufferedReader(MyTxetReader text)
MyBufferedReader(MyMediaReader media)
} 上述这个类扩展性极差。 找到其参数的类型,通过多态的方式,可以提高拓展性。
class MyBufferedReader extends MyReader
{
MyBufferedReader(MyReader r)
}
MyReader,专门用于读取数据的类
|---- MyTxetReader
|---- MyMediaReader
|---- MyDataReader
|---- MyBufferedReader
装饰设计模式比继承更灵活,避免了继承体系的臃肿。
而且降低了类与类之间的关系。
装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了
更强功能。所以装饰类和被装饰类通常是都属于一个体系当中的。
*/