Python 设计模式之适配器模式

2023-04-03 00:00:00 模式 设计 适配器

适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将不兼容的对象包装在一个适配器中,以便它们能够一起工作。适配器模式通常用于将第三方库或旧系统与新系统集成,以使它们能够相互协作。

在适配器模式中,适配器充当一个中间层,它接收来自客户端的请求,并将这些请求转换为目标对象可以理解的格式。这个转换过程对客户端是透明的,客户端只需要与适配器进行交互即可,而不需要了解适配器是如何与目标对象交互的。

下面是一个使用适配器模式的示例,假设我们有一个旧系统中的类,它具有以下接口:

class OldSystem:
    def request(self, url):
        # 发送请求并返回结果
        pass

我们希望将这个旧系统集成到我们的新系统中,但是新系统使用的是以下接口:

class NewSystem:
    def send_request(self, host, path):
        # 发送请求并返回结果
        pass

我们可以创建一个适配器来实现这个转换:

class OldSystemAdapter:
    def __init__(self, old_system):
        self.old_system = old_system

    def send_request(self, host, path):
        url = 'http://' + host + path
        return self.old_system.request(url)

在这个适配器中,我们将 NewSystem 的 send_request 方法转换为了 OldSystem 的 request 方法,以便旧系统能够理解这个请求。然后我们可以使用适配器将旧系统集成到我们的新系统中:

old_system = OldSystem()
adapter = OldSystemAdapter(old_system)

result = adapter.send_request('pidancode.com', '/test')
print(result)

这样,我们就可以使用适配器模式将不兼容的对象集成到我们的系统中,而不需要修改现有代码。

相关文章