设计模式学习笔记4:对接口进行包装的Adapter

来源:互联网 发布:网络安全工程师 知乎 编辑:程序博客网 时间:2024/06/05 05:36

Adapter接受一种类型,并为其它类型产生一个接口。当你手头有某个类,而你需要的却是另外一个类,就可以通过它来解决问题。Adapter就是对原类型接口的一种包装(也就是包装器wrapper)。

它是个双重的模式,有结构型类模式和结构型对象模式两种。以下为两种情况下的图示。


Adapter模式主要是为了解决两个已有接口之间不匹配的问题。它不考虑这些接口是怎样实现的,也不考虑它们各自可能会如何演化。这种方式不需要对两个独立设计的类中的任一个进行重新设计,就能够使它们协同工作。

最容易让我想到的一个应用场合就是对三方工具库lib的包装,在项目中方便使用这些接口。如考勤机,扫描枪,电脑秤这些硬件提供的编程接口。

注意Facade与Adapter的区别: Facade定义一个新的接口,而Adapter则复用一个原有的接口,它使两个已有的接口协同工作。

原创粉丝点击