首页 > 其他 > 详细

适配器模式&观察者模式

时间:2014-04-01 13:00:02      阅读:402      评论:0      收藏:0      [点我收藏+]

一、适配器模式

适配器模式就是一个类的接口不能被客户端接受,需要转换为另一种接口,从而使两个不匹配的接口能在一起工作。

类结构:

bubuko.com,布布扣

Adaptee:源接口,需要适配的接口

Target:目标接口,暴露出去的接口

Adapter:适配器,将源接口适配成目标接口

举个现实例子:

Adaptee就是相机中的内存卡片,Target就是电脑,而Adapter则是USB读卡器。


适用场景:

比如查物流信息,由于物流公司的系统都是各自独立,在编程语言和交互方式上有很大差异,需要针对不同的物流公司做单独适配,同时结合不同公司的系统性能,配置不同的响应超时时间

bubuko.com,布布扣


二、观察者模式

观察者模式通常也叫发布—订阅模式,或者事件监听模式,定义一对多的依赖关系,让多个观察者对象同时监听一个主题对象,如果这个主题对象的状态发生变化时,会通知所有的观察者对象。

异步消息(MQ、activeMQ)都是基于这种模式。

类结构图:

bubuko.com,布布扣

Subject:主题类,将所有的观察者对象保存在一个List集合中,并提供增、删的方法,以及状态变化后的通知方法。

Observer:观察者的抽象接口,提供了一个抽象的动作方法,具体的业务由子类来实现

ConcreteObserver:具体的观察者,负责实现自己的业务动作

ConcreteSubject:具体的主题类,在内部状态发生变化时,给所有登记过的观察者发出通知。


优点:

1)解耦,将耦合的双方都依赖于抽象类,而不是依赖于具体。从而使得各自的变化不会影响另一边的变化。

2)Observer采用的是抽象类,这样的好处是可以将多个子类相同的代码逻辑抽取出来,放到抽象类中



适配器模式&观察者模式,布布扣,bubuko.com

适配器模式&观察者模式

原文:http://blog.csdn.net/itomge/article/details/22521989

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!