适配器模式&观察者模式
来源:互联网 发布:如何去日本工作知乎 编辑:程序博客网 时间:2024/05/21 07:52
一、适配器模式
适配器模式就是一个类的接口不能被客户端接受,需要转换为另一种接口,从而使两个不匹配的接口能在一起工作。
类结构:
Adaptee:源接口,需要适配的接口
Target:目标接口,暴露出去的接口
Adapter:适配器,将源接口适配成目标接口
举个现实例子:
Adaptee就是相机中的内存卡片,Target就是电脑,而Adapter则是USB读卡器。
适用场景:
比如查物流信息,由于物流公司的系统都是各自独立,在编程语言和交互方式上有很大差异,需要针对不同的物流公司做单独适配,同时结合不同公司的系统性能,配置不同的响应超时时间
二、观察者模式
观察者模式通常也叫发布—订阅模式,或者事件监听模式,定义一对多的依赖关系,让多个观察者对象同时监听一个主题对象,如果这个主题对象的状态发生变化时,会通知所有的观察者对象。
异步消息(MQ、activeMQ)都是基于这种模式。
类结构图:
Subject:主题类,将所有的观察者对象保存在一个List集合中,并提供增、删的方法,以及状态变化后的通知方法。
Observer:观察者的抽象接口,提供了一个抽象的动作方法,具体的业务由子类来实现
ConcreteObserver:具体的观察者,负责实现自己的业务动作
ConcreteSubject:具体的主题类,在内部状态发生变化时,给所有登记过的观察者发出通知。
优点:
1)解耦,将耦合的双方都依赖于抽象类,而不是依赖于具体。从而使得各自的变化不会影响另一边的变化。
2)Observer采用的是抽象类,这样的好处是可以将多个子类相同的代码逻辑抽取出来,放到抽象类中
1 0
- 适配器模式&观察者模式
- 适配器模式和观察者模式
- 适配器模式之观察者模式
- 【iOS设计模式】---- 适配器模式,观察者模式
- 观察者模式,适配器模式,策略模式
- 论安卓适配器中的观察者模式
- 王学岗观察者模式之适配器
- 【iOS开发】适配器模式与观察者模式
- 设计模式--单例模式,观察者模式,适配器模式
- IOS设计模式之三(适配器模式,观察者模式)
- iOS设计模式之三(适配器模式,观察者模式)
- iOS设计模式之三(适配器模式,观察者模式)
- IOS设计模式之三(适配器模式,观察者模式)
- iOS设计模式之三:适配器模式和观察者模式
- iOS设计模式之三:适配器模式和观察者模式
- IOS设计模式之三(适配器模式,观察者模式)
- IOS设计模式之三(适配器模式,观察者模式)
- IOS设计模式之三(适配器模式,观察者模式)
- USACO打怪升级(二): TEXT Submitting Solutions
- c函数之【错误处理函数】
- 从JSON取数据实现图片瀑布流布局的数据动态加载
- 三维旋转的四元数表示方法的解释
- Linux下svn的安装和使用(1)
- 适配器模式&观察者模式
- LeetCode :: Linked List Cycle I and II
- DCMTK-可执行文件测试
- 雷军:用这三大互联网思维做传统产业,都会有爆炸性增长
- bool类型变量与0比较的if语句应该怎样书写
- c函数之【管道相关函数】
- 二)洞悉linux下的Netfilter&iptables:内核中的ip_tables小觑
- 字符串与整数的相互转化
- 数形结合、单调队列+uva1451