适配器(Adapters)

就是一个接口转换器。

就是当一个东西的接口和另外一个东西的接口不兼容,就用适配器在中间,将一个东西的接口转成能适配另外那个东西接口。

一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起。

现实中:

  USB与串口的转接设备

软件设计:

  情况:

    在实际开发过程中,我们经常遇到这样的事情,我们根据初步的需求制定了一个基类,在开发过程中才了解到详细的需求或者需求发生了变动。而开发工作中的接口早  已经定义完毕,并已经大规模投入编码。此时若改动接口的定义会造成很多编码上重复性的修改工作,并进而有可能造成修改不完全而导致的语义错误或逻辑错误。语义错  误尚可以在编译阶段发现,而一旦发生逻辑性的错误,后果将会非常严重,甚至足以导致系统崩溃。此时就需要用到适配器模式的设计方法。

  适配器模式:

    用一个类同时继承接口和已知类,利用已知类中定义的方法和属性等,实现接口中的定义(主要利用了重载接口方法的办法)。用此类作为其他业务类的基类,也就是  这个类适配了接口和已知类。若已知类发生变化,只需修改类适配器,就可以满足接口的实现。

时间: 2024-10-10 13:56:20

适配器(Adapters)的相关文章

Ember.js 入门指南——自定义适配器

在Ember应用中适配器决定了数据保存到后台的方式,比如URL格式和请求头部.Ember Data默认的适配器是内置的REST API回调. 实际使用中经常会扩展默认的适配器.Ember的立场是应该通过扩展适配器来添加不同的功能,而非添加标识.这样可以使得代码更加容易测试.更加容易理解,同时也降低了可能需要扩展的适配器的代码. 如果你的后端使用的是Ember约定的规则那么可用使用适配器adapters/application.js.适配器application优先级比默认的适配器高,但是比指定的

SGI-STL简记(十一)-适配器(容器、迭代器、仿函数)

适配器(adapters): 概念上类似于设计模式中的适配,此处STL中的适配器可对组件的组合.灵活运用扮演重要角色. STL中适配器主要有:容器适配器.迭代器适配器.仿函数适配器 容器适配器: queue(先进先出).stack(先进后出).priority_queue(优先队列)适配器,即queue和stack的_Sequence序列模板参数默认类型为deque<T>(双端队列), 当然也可以是其他满足适配器的必要接口的容器也可,故这几个可认为是序列模板容器_Sequence的包装器. 迭

[STL系列]开篇简单介绍

开篇: 为了应付上机考,现在需要总结下关于STL的基础知识.由于以前各种代码都喜欢从头搭起,像这种现成的牛逼的STL就没怎么看,真是作死.现在来突击啦. 开始之前,简单看一段代码,功能很简单,就是要实现对一组数字的排序,以窥STL的一斑. 1 #include "iostream" 2 #include <algorithm> 3 #include <vector> 4 using namespace std; 5 6 int main() 7 { 8 vect

STL学习之路之仿函数

STL中的仿函数(或者叫做函数对象):可以实现类似于函数一样的类型,函数最直接的调用形式就是:返回值 函数名(参数列表),仿函数实现了operator()操作符,使用类似于函数. 同时,STL还为仿函数提供了强大的配接器,也就是适配器Adapters,这些适配器本身也属于仿函数,调用方式同样类似于函数.更进一步,这些适配器可以和仿函数.函数.适配器再进行绑定.组合.适配,完成更加复杂的功能. 这部分应该是STL中最简单的部分,实现也比较简单.另外C++11标准对这部分调整比较大,我们先不考虑.暂

STL之内存管理

STL以泛型思维为基础,提供了6大组件:容器(containers).算法(algorithms).迭代器(iterators).仿函数(functors).适配器(adapters).分配器(allocators). 容器: vector.list.deque.set.map等,用来存放数据.从实现的角度来看,容器就是一种class template. 算法: sort.find.copy等,从实现的角度来看,算法就是一种function template. 迭代器: 从实现的角度来看,迭代器

Phalcon 日志记录(Logging)

Phalcon提供了一个日志记录组件即 Phalcon\Logger. 我们可以使用此组件输出日志到不同的流中,如文件,系统日志等. 这个组件还提供了其它的功能如日志事务(类似于数据库的事务), 配置选项, 还可以输出不同的格式,另外还支持多种过滤器. Phalcon\Logger 提供了多种日志记录方式,从调试程序到跟踪应用的执行以满足应用的需求. 适配器(Adapters)? 此组件使用不同的流适配器来保存日信息. 我们可以按需使用适配器.支持的适配器如下: 适配器 描述 接口 File 保

004——主板(motherboard)

整台PC都是围绕主板(motherboard)构建的,它是PC中最重要的组件.主板是一块大的印刷电路板(PCB),其上安装了大量的芯片(chips),连接器(connectors )和其他电子元件(electronics ).计算机科学家们简单地称之为板子(board).在PC内部,数据不断地在下图所示的各种设备之间进行交换.大部分数据交换发生在主板本身上,所有组件都相互连接: 关于PC的外部设备,主板的功能就像一个中央火车站. 所有流量都来自 或 终止于主板,可见主板地位之高,说是PC中最重要

(一)STL体系结构基础介绍

一.STL六大部件 容器(Containers):存放元素,内存由分配器搞定 分配器(Allocator):支持容器的内存分配 算法:操作容器元素的函数.与OO不同(面向对象将元素与函数放到一个类里),GP(模板编程)将数据放入容器,操作方法放入算法中. 迭代器(Iterator): 算法和容器之间的桥梁,通过迭代器,算法才能去操作容器中的元素.迭代器就是泛化的指针. 适配器(Adapters):对其他组件进行转换. 仿函数(Functors):自定义类的相关操作(比如自定义类A,计算其两个实例

STL适配器(adapters)

定义:将一个class的接口转换为另一个class的接口,使原本因接口不兼容而不能合作的classes,可以一起运作.适配器扮演者轴承.转换器的角色. 分类: 1.容器适配器:改变容器接口. STL提供两个容器迭代器:queue和stack.它们都是修饰deque后成为另一种风貌的容器. 2.迭代器适配器:改变迭代器接口. Insert Iterator:将容器绑定到back_insert_iterator.front_insert_iterator.insert_iterator.它们都是一个