摘要:簡介適配器模式是結構型模式的一種,它把一個類的接口轉換為客戶期望的另一個接口。適配器讓接口本不兼容的兩個類可以合作無間。適配器模式分為類適配器和對象適配器,類適配器使用多繼承,而對象適配器使用組合來實現,這里只介紹更常用的對象適配器。
1. 簡介
??適配器模式是結構型模式的一種,它把一個類的接口轉換為客戶期望的另一個接口。適配器讓接口本不兼容的兩個類可以合作無間。適配器模式分為類適配器和對象適配器,類適配器使用多繼承,而對象適配器使用組合來實現,這里只介紹更常用的對象適配器。
2. UML類圖??Target是目標接口,Adaptee是被適配者,Adapter是適配者,適配者實現了目標接口,并擁有被適配者的引用。
3. 實例Target:
public interface TypeC { void typeCPort(); }
Adaptee:
public class Headset { public void listen() { System.out.println("3.5毫米耳機聽音樂"); } }
Adapter:
public class PortAdapter implements TypeC { private Headset headset; public PortAdapter(Headset headset) { this.headset = headset; } public void typeCPort() { headset.listen(); } }
Client:
public class IPhone { public void listen() { Headset headset = new Headset(); TypeC typec = new PortAdapter(headset); typec.typeCPort(); } }
測試類
public class Test { public static void main(String[] args) { IPhone iphone = new IPhone(); iphone.listen(); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76646.html
摘要:根據適配器類與適配者類的關系不同,適配器模式可分為對象適配器和類適配器兩種,在對象適配器模式中,適配器與適配者之間是關聯聚合關系在類適配器模式中,適配器與適配者之間是繼承或實現關系。 ...
摘要:原文地址設計模式十適配器模式在設計模式七設計模式分類中我們提到過結構設計模式,結構設計模式專注于設計對象和實例的構建組合過程。適配器模式在不修改現有代碼的基礎上,保留了架構。 原文地址:PHP設計模式(十):適配器模式 Introduction 在PHP設計模式(七):設計模式分類中我們提到過結構設計模式(Structural patterns),結構設計模式專注于設計對象(Objec...
摘要:本文參考于設計模式課程設計模式之適配器模式設計模式是一套被反復使用的多數人知曉的經過分類編目的代碼設計經驗的總結。第一個設計模式是適配器模式。總的來說適配器就是的模式,與修飾模式直接無感使用不同,適配器模式使用對象變為。 本文參考于:設計模式課程設計模式之適配器模式 設計模式是一套被反復使用的、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了重用代碼、讓代碼更容易被...
摘要:與其它模式的異同適配器模式不會改變原有接口,這一點與裝飾者模式和代理模式類似。代理模式適配器模式與代理模式最相似,同樣都是創建一個新對象包裝一次,實現對本體的調用。外觀模式外觀模式與適配器模式最大的區別,是定義了一個新的接口。 showImg(https://segmentfault.com/img/bVbul8d?w=800&h=600); 適配器模式:將一個類(對象)的接口(方法或...
摘要:適配器模式橋接模式過濾器模式組合模式裝飾器模式外觀模式享元模式代理模式行為型模式這些設計模式特別關注對象之間的通信。對象適配器另外一種適配器模式是對象適配器,它不是使用多繼承或繼承再實現的方式,而是使用直接關聯,或者稱為委托的方式。 設計模式匯總 創建型模式 這些設計模式提供了一種在創建對象的同時隱藏創建邏輯的方式,而不是使用新的運算符直接實例化對象。這使得程序在判斷針對某個給定實例需...
閱讀 2400·2021-09-08 09:45
閱讀 3340·2021-09-08 09:45
閱讀 3097·2019-08-30 15:54
閱讀 3348·2019-08-26 13:54
閱讀 1405·2019-08-26 13:26
閱讀 1384·2019-08-26 13:23
閱讀 909·2019-08-23 17:57
閱讀 2178·2019-08-23 17:14