当前位置:网站首页>适配器模式
适配器模式
2022-06-10 23:31:00 【jim0506】
硬件适配器模式提供一种方法,使已经存在硬件接口能适用应用期望。可以说是在硬件代理模式基础上,为了能够适应底层不同的硬件设备,在中间增加一层适配器。比如在通讯上面在硬件上都存在RS232,RS485,程序需要在不同情况下使用232通讯或485通讯,而适配器可以提供统一的接口给客户层,通过指针指向所需通讯,则可以实现。最大的特点是在运行中选择,相比使用宏定义需要生成不同执行程序,可以在程序中实现自适应的功能。
1.2.1 模式结构

1.2.2 角色
1.2.2.1 硬件适配器(HardwareAdapter)
硬件适配器在客户和硬件代理之间执行匹配。客户告知适配器所需的硬件设备,适配器执行客户的请求。
1.2.2.2 客户硬件接口(HardwareInterfaceToClient)
客户的硬件接口表示客户期望硬件代理提供的一组服务和参数列表。仅仅作为接口,并没有实现,是通过适配器提供硬件实现。
1.2.2.3 硬件设备(HardwareDevice)
与硬件代理模式中描述一致。
1.2.2.4 硬件代理(HardwareProxy)
与硬件代理模式中描述一致。
1.2.3 效果
该模式允许使用各种硬件代理,并且在不同的应用中使用与它们相关的硬件设备,同时亦有的应用使用不同的硬件设备时不需要做改变。我个人理解有点类似是面向对象语言中的多态概念。
1.2.4 实现
同样如linux系统驱动,创建一个结构体的接口代理,硬件设备使用这些接口具体实现,然后使用一个指向结构体接口的指针,把需要使用的硬件设备注册到指针上,客户代码只需调用这个指针,即可操作具体的硬件设备,而且可以动态的修改指针的指向,从而实现动态的加载切换。
边栏推荐
- [network planning] 1.3 packet switching and circuit switching in the network core
- QT client socket qtcpsocket specifies the local IP through bind
- Yum source update
- Database table structure
- Dynamic programming classical topic triangle shortest path
- [no title] 66666
- 微信小程序实现OCR扫描识别
- [network planning] 2.4 DNS: directory service of the Internet
- How to handle file cache and session?
- 【无标题】
猜你喜欢
随机推荐
阻塞隊列 — DelayedWorkQueue源碼分析
teterttet
[network counting] 1.4 network delay, packet loss and throughput
双飞翼布局
文件缓存和session怎么处理?
Wechat applet to realize OCR scanning recognition
[network planning] 2.2.4 Web cache / proxy server
Unity自定义文件夹图标颜色 个性化Unity编译器
Mysql database table backup
亿级搜索系统(优酷视频搜索)的基石,如何保障实时数据质量?v2020
动态规划经典题目三角形最短路径
Is it safe to open an account for stock speculation in Shanghai?
333333
Automated test series
LeetCode 1996. Number of weak characters in the game*
Go language channel understanding and use
[kingcraft] 3.1 link layer - functions of data link layer
MD5Util
圖的最短路徑問題 詳細分解版
Unity mesh patch generates parabola and polyline



![[network planning] 2.2.3 user server interaction: cookies](/img/a8/74a1b44ce4d8b0b1a85043a091a91d.jpg)




