大話設計模式Python實現-適配器模式


適配器模式(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/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM