适配器模式&观察者模式

2014-11-23 23:56:41 · 作者: · 浏览: 0

一、适配器模式

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

类结构:

\

Adaptee:源接口,需要适配的接口< http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD48cD5UYXJnZXSjusS/seq907/ao6yxqcK2s/bIpbXEvdO/2jwvcD48cD5BZGFwdGVyo7rKysXkxvejrL2r1LS907/aysrF5LPJxL+x6r3Tv9o8L3A+PHA+vtm49s/WyrXA/dfTo7o8L3A+PHA+QWRhcHRlZb7NysfP4Lv61tC1xMTatOa/qMaso6xUYXJnZXS+zcrHtefE1KOstvhBZGFwdGVy1PLKx1VTQrbBv6jG96GjPGJyIC8+PC9wPjxwPjxiciAvPjwvcD48cD7KytPDs6G+sKO6PC9wPjxwPrHIyOey6c7vwffQxc+io6zTydPazu/B97mry761xM+1zbO2vMrHuPfX1LbAwaKjrNTaseCzzNPv0dS6zb27u6W3vcq9yc/T0LrctPOy7tLso6zQ6NKq1eu21LK7zay1xM7vwfe5q8u+1/a1pbbAysrF5KOszazKsb3hus+yu82suavLvrXEz7XNs9DUxNyjrMXk1sOyu82stcTP7NOms6zKscqxvOQ8L3A+PHA+PGltZyBzcmM9"https://www.cppentry.com/upload_files/article/76/1_qgfxd__.jpg" alt="\" />


二、观察者模式

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

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

类结构图:


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

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

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

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


优点:

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

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