背景
世界上电源插头标准很多,这里只说国标和英标:中国标准:
英国标准:
各地插头标准不同带来的另一个问题是各地的标准插座主要针对当地插头设计。 常在世界各地跑的朋友都知道一定要配个转接头,比如这个:
这个转换头名称是World Travel Adapter,所起的作用就是适配。(严格来说,上面的转接头还应用了工作方法。)
*另一种形式是由插座提供适配,作用是一样的。
在软件领域里,我们也常常需要对接两种不同的接口。在设计上有两种模式可以参考。下面以文件操作适配到数据库操作的适配器为例。
1. 多重继承
这样在Adapter里CreateDB()的处理就是调用FileAPI::Open();
2. 组合模式
这时Adapter::CreateDB()实现就是adaptee_->Open();