📜  苗条的静态适配器 (1)

📅  最后修改于: 2023-12-03 14:57:11.082000             🧑  作者: Mango

苗条的静态适配器

静态适配器模式是一种设计模式,用于将现有类接口转换为客户端需要的接口。这种模式适用于需要使用现有类的情况,但是现有类的接口和需要的接口不兼容的情况。

苗条的静态适配器是一种简化静态适配器的实现方式。它通过使用默认实现来减少了所需的代码量和复杂性。

演示:

class Adaptee:
    def specific_request(self):
        return "specific request"
 
class Adapter(Adaptee):
    pass
 
def client_code(adapter: Adapter):
    print(adapter.specific_request())
 
adaptee = Adaptee()
print("Adaptee: ", adaptee.specific_request())
 
adapter = Adapter()
print("Adapter: ", adapter.specific_request())
 
client_code(adapter)

在上面的代码中,我们有一个 Adaptee 类,它有一个 specific_request() 方法,但是它的接口与我们的 Adapter 类所需的接口不兼容。因此,我们创建了一个适配器类 Adapter 来充当 Adaptee 的接口,并将其传递给 client_code()

Adapter 类中,我们没有定义任何新方法或属性。相反,我们只是通过 pass 语句继承了 Adaptee 类的所有内容。这使我们能够创建一个 Adapter 对象,它具有 specific_request() 方法,同时也可以作为 Adaptee 对象使用。

client_code() 中,我们将 adapter 对象作为参数传递,并调用了 specific_request() 方法。这个方法的执行实际上是调用了 Adapter 类中继承的 specific_request() 方法,因为我们没有在 Adapter 中定义新的方法或属性。

尽管这里只展示了一个简单的例子,但是苗条的静态适配器模式可以应用于更复杂的情况,使代码更简洁、易于维护。