适配器模式与外观模式(heade first设计模式 读书笔记)

适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。


分析:

这可以让客户从实现的接口解耦。如果一段时间之后,我们想改变接口,适配器可以将改变的部分封装起来,客户不必为了应对不同的接口而每次跟着修改。

这个适配器模式充满着良好的OO设计原则:使用对象组合,以修改的接口包装被适配者:这种做法还有额外的优点,那就是被适配者的任何子类,都可以搭配着适配器使用。

此模式将客户与接口绑定起来,而不是和实现绑定起来的。或者也可以加上新的实现,只要它们遵守目标接口就可以。


对象适配器

类图:



类适配器

这种适配器需要多重继承才能实现 

和对象适配器唯一的区别就是 适配器继承了 Target 和 Adaptee 。而对象适配器是使用组合的方式将请求传送给被适配者。

类图:




外观模式 提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易被使用。

请务必记住,外观模式的意图 —— 提供一个简单的接口,好让一个子系统更容易使用。


类图:



要点:

1、当需要使用一个现有的类,而接口并不符合你的需要时,就使用适配器。

2、当需要简化并统一一个很大接口或者一群复杂的接口时,使用外观模式。

3、适配器改变接口以符合客户的期望。

4、外观将客户从一个复杂的子系统中解耦。

5、实现一个适配器可能需要一番功夫,也可能不费功夫,视目标接口的大小与复杂度而定。

6、实现一个外观,需要将子系统组合进外观中,然后将工作委托给子系统执行。

7、适配器有两种形式,对象适配器和类适配器,类适配器需要用到多重继承。

8、你可以为一个子系统实现一个以上的外观。

9、适配器将一个对象包装起来以改变其接口:装饰者将一个对象包装起来以增加新的行为和责任;而外观将一群对象“包装”起来以简化其接口。




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值