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

Java I/O之Decorator模式

    博客分类:
  • Java
阅读更多

      Java编程有一段时间了,但是一直都感觉挺浮躁的,对基础知识没有真正好好的看一下,总是要的时候就是Google、百度,以至于以前用过的东西很快就忘了,每次都得打开资料文件再去阅读,因此决定现在重温一下基础知识,并且在博客上复习过程做一个记录,加深自己的记忆!

      Java I/O即Java 输入输出,在Jdk占据着较为重要的地位,关于程序的描述中,输入和输出都比较重要的地位的,因此这几天就依着Java I/O库,顺藤摸瓜并且结合前段学习设计模式的时候对设计模式的理解,对Java I/O中使用的较为普遍的设计模式拿出来做个简要的记录,当然这些在网络上很多地方都有~~废话少说,直接进入主题吧!~~

1、Decorator模式

Decorator:常被翻译成”装饰", 觉得翻译成"油漆工"更形象店,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee,这两种实体在Decorator模式中是必须的。

1.1、定义:动态给一个对象添加一些额外的职责,就像在墙上刷油漆,使用Decorator模式相比用生成子类的方法达到功能的扩充显得更为灵活。

1.1、Decorator模式对应的简单UML,如下所示:


 2、Java I/O Decorator

在Java I/0操作中,经常使用到得一段程序如下:

try {
			OutputStream os = new FileOutputStream(new File("demo.txt"));
			DataOutputStream dos = new DataOutputStream(os);
			... ...
} catch (FileNotFoundException e) {
			e.printStackTrace();
}

上面的程序很容易联想到似曾熟悉的哪个设计模式,通过阅读Java I/O的源码,可以确定使用的是23种设计模式之一——Decorator Pattern,并且得到相应的UML图:


至此,相应的设计模式的探索已经得到,至于使用的细节,可以去参考JDK或者去阅读源码。

注:下一篇将记录Java I/O中使用的另外一种设计模式:适配器(Adapter)-----http://zhoucl.iteye.com/blog/1113183

 

  • 大小: 18.3 KB
  • 大小: 31.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics