适配器模式

硬件适配器模式提供一种方法,使已经存在硬件接口能适用应用期望。可以说是在硬件代理模式基础上,为了能够适应底层不同的硬件设备,在中间增加一层适配器。比如在通讯上面在硬件上都存在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系统驱动,创建一个结构体的接口代理,硬件设备使用这些接口具体实现,然后使用一个指向结构体接口的指针,把需要使用的硬件设备注册到指针上,客户代码只需调用这个指针,即可操作具体的硬件设备,而且可以动态的修改指针的指向,从而实现动态的加载切换。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值