Haopython 2019-01-15
本文实例讲述了Python设计模式之适配器模式原理与用法。分享给大家供大家参考,具体如下:
适配器模式(Adapter Pattern):将一个类的接口转换成为客户希望的另外一个接口.
下面是一个适配器模式的demo:
#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'Andy' """ 大话设计模式 设计模式――适配器模式 适配器模式(Adapter Pattern):将一个类的接口转换成为客户希望的另外一个接口.Adapter Pattern使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 应用场景:系统数据和行为都正确,但接口不符合时,目的是使控制范围之外的一个原有对象与某个接口匹配,适配器模式主要应用于希望复用一些现存的类,但接口又与复用环境不一致的情况 """ class Target(object): def request(self): print "普通请求" class Adaptee(object): def specific_request(self): print "特殊请求" class Adapter(Target): def __init__(self): self.adaptee = Adaptee() def request(self): self.adaptee.specific_request() if __name__ == "__main__": target = Adapter() target.request()
#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'Andy' """ 大话设计模式 设计模式――适配器模式 适配器模式(Adapter Pattern):将一个类的接口转换成为客户希望的另外一个接口.Adapter Pattern使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 应用场景:系统数据和行为都正确,但接口不符合时,目的是使控制范围之外的一个原有对象与某个接口匹配,适配器模式主要应用于希望复用一些现存的类,但接口又与复用环境不一致的情况 """ class Target(object): def request(self): print "普通请求" class Adaptee(object): def specific_request(self): print "特殊请求" class Adapter(Target): def __init__(self): self.adaptee = Adaptee() def request(self): self.adaptee.specific_request() if __name__ == "__main__": target = Adapter() target.request()
上面类的设计如下图:
系统数据和行为都正确,但接口不符合时,目的是使控制范围之外的一个原有对象与某个接口匹配,适配器模式主要应用于希望复用一些现存的类,但接口又与复用环境不一致的情况
更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。