Java I/O之Decorator模式

      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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值