装饰模式再学习

对象增强的手段:
*继承
缺点:增强的内容是不能改变的
被增强的对象也是不能改变的
*装饰者模式
增强的内容是不能改变的
被增强的对象是可以改变的
不知道被增强对象的具体类型也可以使用

特点: 是你,还有你,一切拜托你。增强点!
*动态代理(AOP)
被增强的对象可以切换 :Service
增强的内容也可以切换:事务处理

 

class MyInputStream extends InputStream{
    /* 可以实现文件的加密 */
    private InputStream in;
    private int key;
    
    public MyInputStream(InputStream in,int key){
        this.in=in;
        this.key=key;
    }
    @Override
    public int read() throws IOException {
        return in.read()+key;
    }
    
}

 

posted @ 2016-07-28 11:14  guodaxia  阅读(119)  评论(0编辑  收藏  举报