`
utopialxw
  • 浏览: 367722 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

装饰器模式

 
阅读更多

1:装饰器模式在javaIO中

DataInputStream din = null;
din = new DataInputStream(
                new BufferedInputStream(
                       new FileInputStream("IOTest.txt")
                )
         );

 

其中inputstream可以理解为被装饰对象component,filterinputstream为装饰器父类decorator,它持有一个inputstream对象。而stringbufferinputstream等可以理解为可以被装饰的对象concretecomponent,datainputstream等可以理解为具体的装饰器concretedecorator。

2:当然也可以写成

InputStream component=new FileInputStream("IOTest.txt");
InputStream decorator1=new BufferedInputStream(component);
InputStream decorator2=new DataInputStream(decorator1);

 但是写成第一种形式是不是更能体现装饰器的精髓?最里面就是墙壁,外面依次是水泥、油漆~~ 

  • 大小: 5.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics