大話設計模式Python實現 介面卡模式

2022-07-15 13:09:11 字數 2098 閱讀 6382

介面卡模式(adapter pattern):將乙個類的介面轉換成為客戶希望的另外乙個介面.

下面是乙個介面卡模式的demo:

1

#!/usr/bin/env python2#

-*- coding:utf-8 -*-34

__author__ = '

andy'5

"""6

大話設計模式

7設計模式——介面卡模式

8介面卡模式(adapter pattern):將乙個類的介面轉換成為客戶希望的另外乙個介面.adapter pattern使得原本由於介面不相容而不能一起工作的那些類可以一起工作.

9應用場景:系統資料和行為都正確,但介面不符合時,目的是使控制範圍之外的乙個原有物件與某個介面匹配,介面卡模式主要應用於希望復用一些現存的類,但介面又與復用環境不一致的情況

10"""

11class

target(object):

1213

defrequest(self):

14print

"普通請求"15

16class

adaptee(object):

1718

defspecific_request(self):

19print

"特殊請求"20

21class

adapter(target):

2223

def__init__

(self):

24 self.adaptee =adaptee()

2526

defrequest(self):

27self.adaptee.specific_request()

2829

if__name__ == "

__main__":

30 target =adapter()

31 target.request()

1

#!/usr/bin/env python2#

-*- coding:utf-8 -*-34

__author__ = '

andy'5

"""6

大話設計模式

7設計模式——介面卡模式

8介面卡模式(adapter pattern):將乙個類的介面轉換成為客戶希望的另外乙個介面.adapter pattern使得原本由於介面不相容而不能一起工作的那些類可以一起工作.

9應用場景:系統資料和行為都正確,但介面不符合時,目的是使控制範圍之外的乙個原有物件與某個介面匹配,介面卡模式主要應用於希望復用一些現存的類,但介面又與復用環境不一致的情況

10"""

11class

target(object):

1213

defrequest(self):

14print

"普通請求"15

16class

adaptee(object):

1718

defspecific_request(self):

19print

"特殊請求"20

21class

adapter(target):

2223

def__init__

(self):

24 self.adaptee =adaptee()

2526

defrequest(self):

27self.adaptee.specific_request()

2829

if__name__ == "

__main__":

30 target =adapter()

31 target.request()

上面類的設計如下圖:

系統資料和行為都正確,但介面不符合時,目的是使控制範圍之外的乙個原有物件與某個介面匹配,介面卡模式主要應用於希望復用一些現存的類,但介面又與復用環境不一致的情況

出處:

大話設計模式Python實現 策略模式

策略模式 strategy pattern 它定義了演算法家族,分別封裝起來,讓他們之間可以相互替換,此模式讓演算法的變化,不會影響到使用演算法的客戶.下面是乙個商場活動的實現 1 usr bin env python2 coding utf 8 34 author andy 5 6 大話設計模式 ...

《大話設計模式》python實現 簡單工廠模式

基於python3.6實現 最近開始看 大話設計模式 由於平常用python,所以把 改寫了一下,也是心血來潮,不知道能不能更下去,慢慢來吧。簡單工廠模式 class operation object pass class opadd operation def getresult self ret...

大話設計模式策略模式c 實現

其他二十三種設計模式 include using namespace std 策略模式 strategy 定義演算法家族,分別封裝起來,讓演算法之間可以相互替換,且不會影響到使用演算法的client客戶 抽象收費策略 class cashsuper 正常收費類 class cashnormal pu...