MyReader 专门用于读取数据的抽象类
|--MyTextReader
|--MyBufferedTextReader
|--MyMp3Reader
|--MyBufferedMp3Reader
如果多个这样的二级类,每个二级类下面又有3级类,会让这个体系看起来很臃肿,这些3级类看起来又有共同的特点,那么考虑用装饰模式
class MyBufferedReader{
// MyBufferedReader(MyTextReader myTextReader){
//扩展型很差
// }
MyBufferedReader(MyReader myReader){
//这里用到了参数多态
}
}
如果用了装饰模式,上述体系变成如下模样
MyReader 专门用于读取数据的抽象类
|--MyTextReader
|--MyMp3Reader
|--MyBufferedReader
转载于:https://blog.51cto.com/13579086/2064993