1. 程式人生 > python教程 > Python設計模式——介面卡模式

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

所謂介面卡模式是指是一種介面適配技術,它可通過某個類來使用另一個介面與之不相容的類,運用此模式,兩個類的介面都無需改動。

介面卡模式主要應用於希望複用一些現存的類,但是介面又與複用環境要求不一致的情況,比如在需要對早期程式碼複用一些功能等應用上很有實際價值。

結構圖:

Python設計模式——介面卡模式_Python

其中Target是使用者期望的標準類,而Adaptee是我們需要匹配的類,二者通過Adapter匹配起來。

程式碼如下:

#!/usr/bin/env python# encoding: utf-8class Target(object): def request(self): print 'Target request'class Adaptee(object): def specialRequest(self): print 'Adaptee specialRequest'class Adpater(object): def __init__(self, adpatee): self.adpatee = adpatee def request(self): self.adpatee.specialRequest()if __name__ == '__main__': objects = [] a = Target() b = Adaptee() objects.append(a) objects.append(Adpater(b)) #適配介面 for obj in objects: obj.request() #呼叫相同介面