适用性
 

以下情况使用Adapter模式
• 你想使用一个已经存在的类,而它的接口不符合你的需求。

 

这种情况就是适配器模式开头部分讲过的例子。我们想使用一个已经存在的类,但是又不想(也不应该)修改那个类的接口时可使用适配器模式。

这属于被动适配。

 

• 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。

 

设想我们在开发某个可复用的功能,当然希望它具有理想,漂亮的接口。但是和它同时开发的系统需要的接口可能就那么漂亮。这时们应该做的不是妥协和将就,而应该使用适配器模式将两者隔离起来。这属于主动适配。

 

• (仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。

 

当我们希望对一群类进行适配的时候可以让适配器保持适配对象父类类型的指针,这是只要对父类接口进行了适配,那么自然就完成了所有子类的适配。

 

注:

 

本文中蓝色粗体文字都引自《设计模式》一书。

 

觉得本文有帮助?请分享给更多人。

阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】

Aha!设计模式(46)-适配器(3)_适配器模式