適配器模式(Adapter Pattern):將一個類的接口轉換成為客戶希望的另外一個接口.
下面是一個適配器模式的demo:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 __author__ = 'Andy' 5 """ 6 大話設計模式 7 設計模式——適配器模式 8 適配器模式(Adapter Pattern):將一個類的接口轉換成為客戶希望的另外一個接口.Adapter Pattern使得原本由於接口不兼容而不能一起工作的那些類可以一起工作. 9 應用場景:系統數據和行為都正確,但接口不符合時,目的是使控制范圍之外的一個原有對象與某個接口匹配,適配器模式主要應用於希望復用一些現存的類,但接口又與復用環境不一致的情況 10 """ 11 class Target(object): 12 13 def request(self): 14 print "普通請求" 15 16 class Adaptee(object): 17 18 def specific_request(self): 19 print "特殊請求" 20 21 class Adapter(Target): 22 23 def __init__(self): 24 self.adaptee = Adaptee() 25 26 def request(self): 27 self.adaptee.specific_request() 28 29 if __name__ == "__main__": 30 target = Adapter() 31 target.request()
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 __author__ = 'Andy' 5 """ 6 大話設計模式 7 設計模式——適配器模式 8 適配器模式(Adapter Pattern):將一個類的接口轉換成為客戶希望的另外一個接口.Adapter Pattern使得原本由於接口不兼容而不能一起工作的那些類可以一起工作. 9 應用場景:系統數據和行為都正確,但接口不符合時,目的是使控制范圍之外的一個原有對象與某個接口匹配,適配器模式主要應用於希望復用一些現存的類,但接口又與復用環境不一致的情況 10 """ 11 class Target(object): 12 13 def request(self): 14 print "普通請求" 15 16 class Adaptee(object): 17 18 def specific_request(self): 19 print "特殊請求" 20 21 class Adapter(Target): 22 23 def __init__(self): 24 self.adaptee = Adaptee() 25 26 def request(self): 27 self.adaptee.specific_request() 28 29 if __name__ == "__main__": 30 target = Adapter() 31 target.request()
上面類的設計如下圖:
系統數據和行為都正確,但接口不符合時,目的是使控制范圍之外的一個原有對象與某個接口匹配,適配器模式主要應用於希望復用一些現存的類,但接口又與復用環境不一致的情況
作者:Andy
出處:http://www.cnblogs.com/onepiece-andy/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。