码迷,mamicode.com
首页 > 其他好文 > 详细

装饰模式和继承的区别

时间:2018-01-25 14:18:15      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:扩展   ade   取数据   取数   red   体系   读取   抽象   装饰模式   

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

装饰模式和继承的区别

标签:扩展   ade   取数据   取数   red   体系   读取   抽象   装饰模式   

原文地址:http://blog.51cto.com/13579086/2064993

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!