Java基础之装饰设计模式理解

装饰设计模式:

当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能!
那么,自定义的该类称为装饰类。

装饰类通常会通过构造方法接收被装饰的对象。
并基于被装饰的对象的功能,提供更强的功能。

装饰模式比继承要灵活,避免了继承体系的臃肿,而且降低了类与类之间的关系。

装饰类因为增强已有对象,具备的功能和已有的相同的,只不过提供了更强的功能。
所以装饰类和被装饰类通常都是属于同一个体系中。

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;
    }
    
    //增加缓冲功能
}

 

posted @ 2013-01-29 14:34  陈晓明  阅读(201)  评论(0编辑  收藏  举报