摘要:簡(jiǎn)介適配器模式是結(jié)構(gòu)型模式的一種,它把一個(gè)類的接口轉(zhuǎn)換為客戶期望的另一個(gè)接口。適配器讓接口本不兼容的兩個(gè)類可以合作無間。適配器模式分為類適配器和對(duì)象適配器,類適配器使用多繼承,而對(duì)象適配器使用組合來實(shí)現(xiàn),這里只介紹更常用的對(duì)象適配器。
1. 簡(jiǎn)介
??適配器模式是結(jié)構(gòu)型模式的一種,它把一個(gè)類的接口轉(zhuǎn)換為客戶期望的另一個(gè)接口。適配器讓接口本不兼容的兩個(gè)類可以合作無間。適配器模式分為類適配器和對(duì)象適配器,類適配器使用多繼承,而對(duì)象適配器使用組合來實(shí)現(xiàn),這里只介紹更常用的對(duì)象適配器。
2. UML類圖??Target是目標(biāo)接口,Adaptee是被適配者,Adapter是適配者,適配者實(shí)現(xiàn)了目標(biāo)接口,并擁有被適配者的引用。
3. 實(shí)例Target:
public interface TypeC { void typeCPort(); }
Adaptee:
public class Headset { public void listen() { System.out.println("3.5毫米耳機(jī)聽音樂"); } }
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(); } }
測(cè)試類
public class Test { public static void main(String[] args) { IPhone iphone = new IPhone(); iphone.listen(); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/76646.html
摘要:根據(jù)適配器類與適配者類的關(guān)系不同,適配器模式可分為對(duì)象適配器和類適配器兩種,在對(duì)象適配器模式中,適配器與適配者之間是關(guān)聯(lián)聚合關(guān)系在類適配器模式中,適配器與適配者之間是繼承或?qū)崿F(xiàn)關(guān)系。 ...
摘要:原文地址設(shè)計(jì)模式十適配器模式在設(shè)計(jì)模式七設(shè)計(jì)模式分類中我們提到過結(jié)構(gòu)設(shè)計(jì)模式,結(jié)構(gòu)設(shè)計(jì)模式專注于設(shè)計(jì)對(duì)象和實(shí)例的構(gòu)建組合過程。適配器模式在不修改現(xiàn)有代碼的基礎(chǔ)上,保留了架構(gòu)。 原文地址:PHP設(shè)計(jì)模式(十):適配器模式 Introduction 在PHP設(shè)計(jì)模式(七):設(shè)計(jì)模式分類中我們提到過結(jié)構(gòu)設(shè)計(jì)模式(Structural patterns),結(jié)構(gòu)設(shè)計(jì)模式專注于設(shè)計(jì)對(duì)象(Objec...
摘要:本文參考于設(shè)計(jì)模式課程設(shè)計(jì)模式之適配器模式設(shè)計(jì)模式是一套被反復(fù)使用的多數(shù)人知曉的經(jīng)過分類編目的代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。第一個(gè)設(shè)計(jì)模式是適配器模式??偟膩碚f適配器就是的模式,與修飾模式直接無感使用不同,適配器模式使用對(duì)象變?yōu)椤? 本文參考于:設(shè)計(jì)模式課程設(shè)計(jì)模式之適配器模式 設(shè)計(jì)模式是一套被反復(fù)使用的、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了重用代碼、讓代碼更容易被...
摘要:與其它模式的異同適配器模式不會(huì)改變?cè)薪涌?,這一點(diǎn)與裝飾者模式和代理模式類似。代理模式適配器模式與代理模式最相似,同樣都是創(chuàng)建一個(gè)新對(duì)象包裝一次,實(shí)現(xiàn)對(duì)本體的調(diào)用。外觀模式外觀模式與適配器模式最大的區(qū)別,是定義了一個(gè)新的接口。 showImg(https://segmentfault.com/img/bVbul8d?w=800&h=600); 適配器模式:將一個(gè)類(對(duì)象)的接口(方法或...
摘要:適配器模式橋接模式過濾器模式組合模式裝飾器模式外觀模式享元模式代理模式行為型模式這些設(shè)計(jì)模式特別關(guān)注對(duì)象之間的通信。對(duì)象適配器另外一種適配器模式是對(duì)象適配器,它不是使用多繼承或繼承再實(shí)現(xiàn)的方式,而是使用直接關(guān)聯(lián),或者稱為委托的方式。 設(shè)計(jì)模式匯總 創(chuàng)建型模式 這些設(shè)計(jì)模式提供了一種在創(chuàng)建對(duì)象的同時(shí)隱藏創(chuàng)建邏輯的方式,而不是使用新的運(yùn)算符直接實(shí)例化對(duì)象。這使得程序在判斷針對(duì)某個(gè)給定實(shí)例需...
閱讀 2415·2021-09-08 09:45
閱讀 3364·2021-09-08 09:45
閱讀 3106·2019-08-30 15:54
閱讀 3361·2019-08-26 13:54
閱讀 1417·2019-08-26 13:26
閱讀 1394·2019-08-26 13:23
閱讀 917·2019-08-23 17:57
閱讀 2187·2019-08-23 17:14