
- Python 設計模式教程
- Python 設計模式 - 首頁
- 介紹
- Python 設計模式 - 要點
- 模型-檢視-控制器模式 (MVC)
- Python 設計模式 - 單例模式
- Python 設計模式 - 工廠模式
- Python 設計模式 - 建造者模式
- Python 設計模式 - 原型模式
- Python 設計模式 - 外觀模式
- Python 設計模式 - 命令模式
- Python 設計模式 - 介面卡模式
- Python 設計模式 - 裝飾器模式
- Python 設計模式 - 代理模式
- 責任鏈模式
- Python 設計模式 - 觀察者模式
- Python 設計模式 - 狀態模式
- Python 設計模式 - 策略模式
- Python 設計模式 - 模板模式
- Python 設計模式 - 享元模式
- 抽象工廠模式
- 面向物件
- 面向物件概念實現
- Python 設計模式 - 迭代器模式
- 字典
- 列表資料結構
- Python 設計模式 - 集合
- Python 設計模式 - 佇列
- 字串與序列化
- Python中的併發
- Python 設計模式 - 反模式
- 異常處理
- Python 設計模式資源
- 快速指南
- Python 設計模式 - 資源
- 討論
Python 設計模式 - 介面卡模式
介面卡模式作為連線兩個不相容介面的橋樑。這種設計模式屬於結構型模式,因為它組合了兩個獨立介面的功能。
此模式涉及單個類,負責連線獨立或不相容介面的功能。現實生活中的例子可能是讀卡器,它充當記憶體卡和筆記型電腦之間的介面卡。您將記憶體卡插入讀卡器,然後將讀卡器插入筆記型電腦,以便可以透過筆記型電腦讀取記憶體卡。
介面卡設計模式有助於使類一起工作。它根據需要將類的介面轉換為另一個介面。該模式包括一個物種多型性,它命名一個名稱和多種形式。例如,形狀類可以根據收集的要求使用。
介面卡模式有兩種型別:
物件介面卡模式
此設計模式依賴於物件實現。因此,它被稱為物件介面卡模式。
類介面卡模式
這是實現介面卡設計模式的另一種方法。可以使用多重繼承來實現此模式。
如何實現介面卡模式?
現在讓我們看看如何實現介面卡模式。
class EuropeanSocketInterface: def voltage(self): pass def live(self): pass def neutral(self): pass def earth(self): pass # Adaptee class Socket(EuropeanSocketInterface): def voltage(self): return 230 def live(self): return 1 def neutral(self): return -1 def earth(self): return 0 # Target interface class USASocketInterface: def voltage(self): pass def live(self): pass def neutral(self): pass # The Adapter class Adapter(USASocketInterface): __socket = None def __init__(self, socket): self.__socket = socket def voltage(self): return 110 def live(self): return self.__socket.live() def neutral(self): return self.__socket.neutral() # Client class ElectricKettle: __power = None def __init__(self, power): self.__power = power def boil(self): if self.__power.voltage() > 110: print "Kettle on fire!" else: if self.__power.live() == 1 and \ self.__power.neutral() == -1: print "Coffee time!" else: print "No power." def main(): # Plug in socket = Socket() adapter = Adapter(socket) kettle = ElectricKettle(adapter) # Make coffee kettle.boil() return 0 if __name__ == "__main__": main()
輸出
上述程式生成以下輸出:

解釋
程式碼包括具有各種引數和屬性的介面卡介面。它包括Adaptee以及實現所有屬性並顯示輸出為可見的Target介面。
廣告