免责声明

易百易数码科技

Adapter模式_Adapter

Adapter模式是一种结构型设计模式,它结合了两个不兼容的接口,通过适配器类来实现它们之间的转换。

Adapter模式(Adapter Pattern)是一种结构型设计模式,它用于将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

适配器模式主要包含三个角色:

Adapter模式_Adapter-图1

1、目标对象(Target):客户所期待的接口。

2、适配器(Adaptee):需要适配的已有接口。

3、适配器模式的客户端调用的是目标接口,内部调用的是适配者接口。

适配器模式的优点包括:

将目标类和适配者类解耦。

增加了类的透明性和复用性。

灵活性好,符合开闭原则。

Adapter模式_Adapter-图2

适配器模式的缺点包括:

过多使用适配器,会让系统非常复杂。

由于在客户端和适配者之间增加了适配器,有些类的职责划分不是非常清晰。

适配器模式的使用场景包括:

系统需要使用现有的类,而这些类的接口不符合系统的需要。

想要建立一个可复用的类,该类可以与其他不相关的类或不可预见的类(即那些不能预知的类)协同工作。

适配器模式的基本结构如下:

Adapter模式_Adapter-图3
class Target(object):
    def request(self):
        pass
class Adaptee(object):
    def specific_request(self):
        pass
class Adapter(object):
    def __init__(self, adaptee):
        self.adaptee = adaptee
    def request(self):
        return self.adaptee.specific_request()

相关问题与解答:

1、适配器模式和装饰器模式有什么区别?

答:适配器模式主要用于将一个类的接口转换成客户希望的另一个接口,而装饰器模式则用于动态地给一个对象添加一些额外的职责,两者的目的不同,应用场景也不同。

2、适配器模式适用于哪些情况?

答:适配器模式适用于系统需要使用现有的类,而这些类的接口不符合系统的需要的情况,当想要建立一个可复用的类,该类可以与其他不相关的类或不可预见的类协同工作时,也可以考虑使用适配器模式。

分享:
扫描分享到社交APP
上一篇
下一篇