📜  适配器模式(1)

📅  最后修改于: 2023-12-03 15:28:21.139000             🧑  作者: Mango

适配器模式介绍

适配器模式是一种结构型设计模式,用于将一个类的接口转换为客户端所期望的另一个接口。适配器可以让原本不兼容的类可以一起工作。

实际场景

适配器模式在现实生活中有很多应用,比如:

  • 国外旅游时,电器插头不兼容,需要使用电源适配器。
  • 计算机连接打印机时,由于不同接口,需要使用转接适配器。

在软件开发中,适配器模式常用于集成不同的接口和代码重用。

结构和角色

适配器模式包含以下角色:

  • 目标接口(Target):客户端所期望的接口。
  • 源接口(Adaptee):需要被转换的接口。
  • 适配器(Adapter):将源接口转换成目标接口的类。

以下是适配器模式的结构示意图:

适配器模式结构示意图

示例代码

以下是一个将攻击接口适配成飞行接口的示例代码:

class Attack:
    def attack(self) -> str:
        return "Attack"

class Flying:
    def fly(self) -> str:
        return "Flying"

class FlyingAdapter(Flying):
    def __init__(self, attack: Attack):
        self.attack = attack

    def fly(self) -> str:
        return self.attack.attack()

attack = Attack()
adapter = FlyingAdapter(attack)
print(adapter.fly())  # 输出: Attack
总结

适配器模式可以解决不同接口之间的兼容问题,使得原本不兼容的类可以协同工作。但过多的适配器也会带来复杂性和性能问题,所以需要权衡使用。