当前位置: 代码迷 >> 综合 >> 设计模式-Adapter
  详细解决方案

设计模式-Adapter

热度:28   发布时间:2024-01-05 09:46:34.0

意图:使控制范围之外的一个原有对象与某个接口匹配。

问题:系统的数据和行为都正确,但接口不符。通常用于必须从抽象类派生时。

实现:将原有类包含在另一类中。让包含类与需要的接口匹配,调用被包容类的方法。

 

Adapter模式有两种类型:

对象Adapter模式:依赖于一个对象(适配对象),包含另一个对象(被适配对象)。

类Adapter模式:通过多重继承实现。

 

类Adapter模式工作原理:

创建一个新类,该类同时从两个类继承:

从定义其接口的抽象类公开继承;从访问其实现的原有类私有继承。

 

 

Facade模式与Adapter模式之间的区别:

1、都存在既有的类

2、Facade模式无须按某个接口进行设计;而在Adapter模式中,则必须按某个特定的接口进行设计。

3、Facade模式不需要多态;Adapter模式多态行为可能是需要的

4、Facade模式动机是简化接口;Adapter模式必须遵循一个已有的接口,不能简化任何东西。