1.介面卡模式(adapter)
:將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。
2.理解:舉個例子,當兩種系統的介面不一致,雙方都不願意修改,就需要乙個類似於轉換器的東西,或者叫介面卡。例如,classa在系統1中,classb在系統2中。對於執行動作的方法,在classa稱為do()方法,而在classb中稱為play()方法,要想在classa中使用do()呼叫classb的play方法,就需要定義乙個類叫translator,translator類中會使用乙個classb的物件classblocal作為其屬性。translator和classa實現同乙個介面,translator的do()方法中直接執行classblocal的play()方法。反過來,也可以這麼做。其實和日常生活中的翻譯者很相似。
設計模式 介面卡模式(類介面卡和物件介面卡)
如果去歐洲國家去旅遊的話,他們的插座如下圖最左邊,是歐洲標準。而我們使用的插頭如下圖最右邊的。因此我們的膝上型電腦,手機在當地不能直接充電。所以就需要乙個插座轉換器,轉換器第1面插入當地的插座,第2麵供我們充電,這樣使得我們的插頭在當地能使用。生活中這樣的例子很多,手機充電器 將220v轉換為5v的...
設計模式學習 介面卡模式(類介面卡和物件介面卡)
介面卡模式,將乙個類的介面轉換成客戶希望的另外乙個介面。介面卡模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。介面卡的用法 在想使用乙個已經存在的類,但它的介面,也就是它的方法和要求不相同時,就應該考慮使用介面卡模式。兩個類所做的事情相同或相似,但是具有不同的介面時需要使用它。雙方都不...
介面卡模式 學習
介面卡模式 將乙個已有的伺服器端應用介面轉換成乙個客戶端程式所期望的介面。模式涉及的角色有 目標介面 itarget 所期待的介面,這裡是類介面卡模式,因此目標不可以是類。源 adaptee 需要適配的類 介面卡 adapter 在這裡把源介面轉換為目標介面,顯然這一介面必須是具體的類。意圖 將乙個...