Python设计模式--适配器模式
来源:互联网 发布:知乎日报 rss 编辑:程序博客网 时间:2024/05/22 10:37
说明
所谓适配器模式是指是一种接口适配技术,它可通过某个类来使用另一个接口与之不兼容的类,将一个类的借口转换成客户希望的另一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
简单实现
class Obj(object): def method(self): print 'obj'class Obj2(object): def new_method(self): print 'obj2'class Adpater(object): def __init__(self, adpatee): self.adpatee = adpatee def request(self): self.adpatee.new_method()if __name__ == '__main__': objects = [] a = Obj() b = Obj2() objects.append(a) objects.append(Adpater(b)) for obj in objects: obj.method()
更灵活实现
通过使用类的dict实现适配器模式
class Dog: def __init__(self, name): self.name = name def dog(self): print(self.name)class Cat: def __init__(self, name): self.name = name def cat(self): print(self.name)class Fish: def __init__(self, name): self.name = name def fish(self): print(self.name)class Adapter: def __init__(self, obj, method): self.obj = obj self.__dict__.update(method)if __name__ == "__main__": objects = [] dog = Dog("dog") cat = Cat("cat") fish = Fish("dish") objects.append(Adapter(dog, dict(method=dog.dog))) objects.append(Adapter(dog, dict(method=cat.cat))) objects.append(Adapter(fish, dict(method=fish.fish))) for obj in objects:0 obj.method()
应用场景
- 重构代码统一调用
- 增加需求不想改变原有代码
- 对接其他project新增class
参考资料:
精通Python设计模式
阅读全文
0 0
- Python设计模式-适配器模式
- python设计模式(适配器模式)
- Python设计模式--适配器模式
- python设计模式之适配器
- Python设计模式——适配器模式
- Python设计模式(二)【适配器模式】
- 设计模式-适配器模式-adapter-python
- 设计模式:适配器模式
- 设计模式------适配器模式
- 设计模式:适配器模式
- 设计模式---适配器模式
- 设计模式 适配器模式
- 设计模式 - 适配器模式
- 设计模式--适配器模式
- 设计模式-适配器模式
- 设计模式------适配器模式
- 设计模式---适配器模式
- 设计模式- 适配器模式
- TBS(腾讯浏览器服务)
- 【算法——Python实现】无权图建模通过广度优先遍历解决问题
- Spring容器高级主题
- Android数据加密
- Android Camera HAL3中预览preview模式下的控制流
- Python设计模式--适配器模式
- Java线程面试题(01) Java中如何检查一个线程是否拥特定对象的锁
- Android screen monitor
- Tomcat(64位)免安装版的环境安装与配置
- 用C#调用蓝牙编程
- 比特币第一疑案:门头沟被盗事件
- 小玩具——温度采集项目(三)
- Glide系列之二:从源码的角度深入理解Glide的执行流程
- Quartz定时任务(纯java方式实现)