23种设计模式介绍(Python示例讲解)(14)
2023-04-30 来源:飞速影视
下面是适配器模式的 Python 实现示例:
# 目标接口class Target: def request(self): pass# 源接口class Adaptee: def specific_request(self): pass# 类适配器class Adapter(Target, Adaptee): def request(self): self.specific_request() # 其他逻辑# 对象适配器class Adapter2(Target): def __init__(self, adaptee): self._adaptee = adaptee def request(self): self._adaptee.specific_request() # 其他逻辑# 客户端代码def client_code(target): target.request()adaptee = Adaptee()adapter = Adapter()adapter2 = Adapter2(adaptee)client_code(adapter)client_code(adapter2)
代码解释:
在上面的代码中,我们首先定义了目标接口 Target 和源接口 Adaptee,然后实现了两种适配器:类适配器 Adapter 和对象适配器 Adapter2。在类适配器中,我们使用多重继承来同时继承目标接口和源接口,并实现目标接口的 request 方法。在这个方法中,我们调用源接口的 specific_request 方法,并在必要的情况下进行其他逻辑处理。在对象适配器中,我们使用组合来持有一个源接口的对象,并实现目标接口的 request 方法。在这个方法中,我们调用源接口的 specific_request 方法,并在必要的情况下进行其他逻辑处理。最后,我们定义了一个客户端代码 client_code,它接收一个目标接口的实例作为参数,并调用该实例的 request 方法。我们分别用类适配器和对象适配器来适配源接口,并将适配器传递给客户端代码进行测试。
2、桥接模式(Bridge)
桥接模式(Bridge)是一种结构型设计模式,旨在将抽象部分和具体实现部分分离,使它们可以独立地变化。
桥接模式的原理实现基于面向对象的多态特性,其核心思想是将抽象部分和实现部分解耦,使得它们可以独立地变化而互不影响。在桥接模式中,抽象部分和实现部分分别由抽象类和实现类来表示,它们之间通过一个桥梁接口来联系。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号