适配器,顾名思义,把一个接口通过包装实现向另一接口的功能转换,即通过中间适配让两个不同接口的实体可以协同工作。通俗的讲就是个转换器。
现实生活中这样类似的应用举不胜举,比如我门的手机充电器,把220V的交流电转换成手机适合的电压就是一个适配过程。再比如我们的自行车的链条也算是个适配器把不同大小的齿轮协调起来工作。再比如我们见过的多功能梅花起子,一个手柄配若干个不同的头。
在GoF的设计模式中,对适配器模式讲了两种类型,类适配器模式和对象适配器模式。由于类适配器模式通过多重继承对一个接口与另一个接口进行匹配,而C#、java等语言都不支持多重继承,因此大多数适配器模式是指的对象适配器模式。
对象适配器模式通过对适配对象的关联,在适配层访问适配对象接口来实现目标接口功能。
适配模式主要适用于是功能集成和应用移植等场合,在保持良好兼容性的同时最大限度保留原有代码。在设计中通常应用于层与层之间的接口设计以保重良好的通用性和可移植性。
现实生活中这样类似的应用举不胜举,比如我门的手机充电器,把220V的交流电转换成手机适合的电压就是一个适配过程。再比如我们的自行车的链条也算是个适配器把不同大小的齿轮协调起来工作。再比如我们见过的多功能梅花起子,一个手柄配若干个不同的头。
在GoF的设计模式中,对适配器模式讲了两种类型,类适配器模式和对象适配器模式。由于类适配器模式通过多重继承对一个接口与另一个接口进行匹配,而C#、java等语言都不支持多重继承,因此大多数适配器模式是指的对象适配器模式。
对象适配器模式通过对适配对象的关联,在适配层访问适配对象接口来实现目标接口功能。
适配模式主要适用于是功能集成和应用移植等场合,在保持良好兼容性的同时最大限度保留原有代码。在设计中通常应用于层与层之间的接口设计以保重良好的通用性和可移植性。