桥接模式 适配器模式 装饰模式

本文探讨了桥接模式和适配器模式在软件设计中的应用。桥接模式允许抽象与实现分离并独立变化,提高了系统的灵活性。适配器模式则解决了现有接口与需求接口不匹配的问题,支持类适配和对象适配两种方式。

桥接

一般用于分离抽象与实现,在系统设计之初考虑,实现可以使用另一个类,可扩展性强,可以使用不同的实现,而不用继承。抽象和实现有没有固定的关系,可以在运行时修改实现的方式。并且抽象和实现部分都可以独立的扩展,而不相互影响。

 

适配器

常用于已有的两个模块中,因接口不同,而进行适配,对已有接口与所需接口不一致,从而使原来不匹配的接口能够工作在一起。类适配(继承) 对象适配(组合)

缺省适配   当原生接口有很多方法,而某一个类实现中,只需实现其中的某几个常用的方法,这时也可使用适配器模式,实现一个抽象类实现该接口,方法为空,而后继承该抽象类即可。从而适配了原有的接口。而实现中又不需实现所有的方法。

示例

在java io 中由InputStream,OutputStream,Reader和Writer代表的等级结构内部,有一些流处理器如(InputStreamReader)是对其它类型的流源的适配。这就是java io中适配器模式的应用。

InputStream inputStream = new FileInputStream("c:\\data\\input.txt");
Reader reader = new InputStreamReader(inputStream); //字符流适配到字节流
int data = reader.read();
while(data != -1){
    char theChar = (char) data;
    data = reader.read();
}
reader.close();

 

装饰模式

 

部分装饰流处理器对另一些流处理器到装饰作用,形成新的,具有改善了的功能的流处理器。
  Java的I/O库总体设计是符合装饰者模式(Decorator)跟适配器模式(Adapter)的。如前所述,这个库中处理流的类叫做流类。引子里所谈到的FileInputStream,FileOutputStream,DataInputStream及DataOutputStream都是流处理器的例子。

092114_pJeo_2834932.png
 

装饰者模式:在由InputStream,OutputStream,Reader和Writer代表的等级结构内部,有一些流处理器可以对另一些流处理器起到装饰作用,形成新的,具有改善了的功能的流处理器。装饰者模式是Java I/O库的整体设计模式。这样的一个原则是符合装饰者模式的,
BufferedInputStream DataInputStream ObjectInputStream等可以对FileInputStream、ByteArrayInputStream 等源流  起到装饰作用。

 

 

 

http://www.blogjava.net/dreamstone/archive/2007/01/08/92482.html

http://www.jasongj.com/design_pattern/bridge/

转载于:https://my.oschina.net/ovirtKg/blog/821587

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值