国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【軟考】設計模式之適配器模式

這篇具有很好參考價值的文章主要介紹了【軟考】設計模式之適配器模式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 說明
  • 1.Adapter(適配器)。
  • 2.將一個類的接口轉換成客戶希望的另外一個接口。
  • 3.Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。
  • 4.類適配器使用多重繼承對一個接口與另一個接口進行匹配。
  • 5.對象適配器依賴于對象組合。
  • 6.適配器模式是一種非常實用的設計模式,它能夠幫助我們解決接口不兼容的問題,提高系統(tǒng)的靈活性和可擴展性。
2. 應用場景
  • 1.舊接口適配新接口:當系統(tǒng)中的一個類需要使用另一個類的接口,但這兩個類的接口不兼容時,可以使用適配器模式。
  • 2.多個類的接口統(tǒng)一:當系統(tǒng)中的多個類的接口不統(tǒng)一時,可以使用適配器模式將它們的接口統(tǒng)一成一個接口,從而提高系統(tǒng)的靈活性和可擴展性。
  • 3.封裝有缺陷的接口設計:如果某個類的接口設計存在缺陷或不符合標準規(guī)范,可以使用適配器模式進行封裝,使其更符合客戶端的使用習慣或需求。
3. 結構圖
  • 1.類適配器結構圖
    【軟考】設計模式之適配器模式,軟考,設計模式,設計模式,java
  • 2.對象適配器結構圖
    【軟考】設計模式之適配器模式,軟考,設計模式,設計模式,java
4. 構成
  • 1.目標接口(Target Interface):定義客戶端所期望使用的與特定領域相關的接口方法。
  • 2.適配器(Adapter):適配器類實現目標接口,并持有一個適配者對象。適配器通過調用適配者對象的方法,將其轉換為目標接口方法。適配器可以是類適配器(通過繼承實現)或對象適配器(通過組合實現)。
  • 3.適配者(Adaptee):已經存在的類或接口,提供了特定的功能,但與目標接口不兼容,這個接口需要適配。
  • 4.客戶端(Client):使用目標接口進行操作的類或對象。
5. 優(yōu)缺點
5.1 優(yōu)點
  • 1.提高兼容性:能夠解決接口不兼容的問題,使得原本不兼容的類能夠協同工作。
  • 2.靈活性:通過使用適配器,客戶端代碼可以獨立于不兼容的接口進行編寫,從而提高了系統(tǒng)的靈活性。當需要更換或修改被適配的類時,只需要修改適配器即可,而不需要修改客戶端代碼。
  • 3.擴展性:適配器模式可以輕松地添加新的適配器來支持新的接口,這使得系統(tǒng)更易于擴展。
  • 4.復用性:適配器可以復用現有的功能,通過轉換接口來適應新的環(huán)境或需求,提高了代碼的復用性。
5.2 缺點
  • 1.增加復雜性:引入適配器模式可能會增加系統(tǒng)的復雜性,因為需要編寫額外的適配器代碼。這可能會使得系統(tǒng)的理解和維護變得更加困難。
  • 2.性能損耗:適配器模式在轉換接口的過程中可能會引入一些性能損耗,尤其是在處理大量數據時。這是因為適配器需要在客戶端和被適配類之間進行額外的轉換操作。
  • 3.可能產生過多的適配器:如果系統(tǒng)中存在大量的不兼容接口,那么可能需要編寫大量的適配器來解決這些問題。這可能會導致系統(tǒng)中存在過多的適配器類,使得系統(tǒng)結構變得復雜。
6. 適用性
  • 1.想使用一個已經存在的類,而它的接口不符合要求。
  • 2.想創(chuàng)建一個可以服用的類,該類可以與其他不相關的類或不可預見的類(即那些接口可能不一定兼容的類)協同工作。
  • 3.(僅適用于對象 Adapter)想使用一個已經存在的子類,但是不可能對每一個都進行子類化以匹配它們的接口。對象適配器可以適配它的父類接口。
7. java示例
7.1 類適配器模式
  • 1.老打印機類
package com.learning.adapter.class_adapter;

/**
 * 舊打印機類,有老舊的打印方法
 */
public class OldPrinter {
    public void printOld(String content){
        System.out.println("舊打印機打印內容:" + content);
    }
}

  • 2.打印接口
package com.learning.adapter.class_adapter;
/**
 * 打印接口
 */
public interface Printable {
    void print(String content);
}
  • 3.新系統(tǒng)
package com.learning.adapter.class_adapter;

/**
 * 新系統(tǒng)
 */
public class NewSystem {
    private Printable printer;

    public NewSystem(Printable printer){
        this.printer = printer;
    }
    public void printDocument(String content){
        printer.print(content);
    }
}
  • 4.舊打印機適配器類
package com.learning.adapter.class_adapter;

/**
 * 舊打印機適配器類
 */
public class OldPrinterAdapter extends OldPrinter implements Printable{
    @Override
    public void print(String content){
        // 調用舊打印機的打印方法
        printOld(content);
    }
}
  • 5.客戶端類
package com.learning.adapter.class_adapter;

/**
 * 客戶端類
 */
public class Client {
    public static void main(String[] args) {
        NewSystem newSystem = new NewSystem(new OldPrinterAdapter());
        newSystem.printDocument("Hello World!");
    }
}
  • 6.示例截圖
    【軟考】設計模式之適配器模式,軟考,設計模式,設計模式,java
7.2 對象適配器模式
  • 1.舊打印機適配器類
package com.learning.adapter.object_adapter;

/**
 * 舊打印機適配器類
 */
public class OldPrinterAdapter implements Printable {

    private OldPrinter oldPrinter;

    public OldPrinterAdapter(OldPrinter oldPrinter){
        this.oldPrinter = oldPrinter;
    }
    @Override
    public void print(String content){
        // 調用舊打印機的打印方法
        oldPrinter.printOld(content);
    }
}
  • 2.客戶端類
package com.learning.adapter.object_adapter;

/**
 * 客戶端類
 */
public class Client {
    public static void main(String[] args) {
        NewSystem newSystem = new NewSystem(new OldPrinterAdapter(new OldPrinter()));
        newSystem.printDocument("Hello World!");
    }
}

文章來源地址http://www.zghlxwxcb.cn/news/detail-855490.html

到了這里,關于【軟考】設計模式之適配器模式的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 重讀Java設計模式: 適配器模式解析

    重讀Java設計模式: 適配器模式解析

    在軟件開發(fā)中,經常會遇到不同接口之間的兼容性問題。當需要使用一個已有的類,但其接口與我們所需的不兼容時,我們可以通過適配器模式來解決這一問題。適配器模式是一種結構型設計模式,它允許接口不兼容的類之間進行合作。本文將深入探討適配器模式的概念、應

    2024年04月09日
    瀏覽(21)
  • Java與設計模式(7):適配器模式

    適配器模式是一種結構型設計模式,它允許將一個類的接口轉換為客戶端所期望的另一個接口。適配器模式使得原本由于接口不兼容而無法一起工作的類能夠協同工作。 適配器模式通過引入一個適配器類來解決接口不兼容的問題。適配器類實現了客戶端所期望的目標接口,并

    2024年02月11日
    瀏覽(21)
  • Java設計模式之適配器模式詳解

    大家好,我是免費搭建查券返利機器人賺傭金就用微賺淘客系統(tǒng)3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿!在今天的篇章中,我們將深入探討Java設計模式的奇妙世界,而焦點就是適配器模式。這種模式就像是代碼變換的藝術大師,讓不同的接口和類在項目中和諧

    2024年01月19日
    瀏覽(28)
  • Java設計模式-結構型-適配器模式

    Java設計模式-結構型-適配器模式

    ? 與電源適配器相似,在適配器模式中引入了一個被稱為適配器(Adapter)的包裝類,而它所包裝的對象稱為適配者(Adaptee),即被適配的類。適配器的實現就是把客戶類的請求轉化為對適配者的相應接口的調用。也就是說:當客戶類調用適配器的方法時,在適配器類的內部將調用

    2024年02月20日
    瀏覽(30)
  • 【Java 設計模式】結構型之適配器模式

    【Java 設計模式】結構型之適配器模式

    適配器模式(Adapter Pattern)是一種結構型設計模式, 用于將一個類的接口轉換成客戶端期望的另一個接口 。這種模式使得原本由于接口不兼容而不能一起工作的類可以一起工作。在本文中,我們將介紹 Java 中適配器模式的定義、結構、使用場景以及如何在實際開發(fā)中應用。

    2024年01月19日
    瀏覽(25)
  • 【設計模式——學習筆記】23種設計模式——適配器模式Adapter(原理講解+應用場景介紹+案例介紹+Java代碼實現)

    【設計模式——學習筆記】23種設計模式——適配器模式Adapter(原理講解+應用場景介紹+案例介紹+Java代碼實現)

    不同國家的插座不同,出國旅游充電器不能直接使用,可以通過使用 多功能轉換插頭 來輔助使用 適配器模式將某個類的接口轉換成客戶端期望的另一個接口表示,主的目的是兼容性,讓原本因接口不匹配不能一起工作的兩個類可以協同工作。其別名為包裝器(Wrapper) 適配器模

    2024年02月16日
    瀏覽(21)
  • 設計模式--適配器模式

    設計模式--適配器模式

    目錄 基本介紹 工作原理 類適配模式 介紹 應用實例介紹 類適配器模式注意事項和細節(jié) 對象適配模式 介紹 對象適配器模式注意事項和細節(jié) 接口適配器模式 介紹 適配器模式的注意事項和細節(jié) ?(1) 適配器模式(Adapter Pattern) 將某個類的接口轉換成客戶端期望的另一個接口表示

    2023年04月26日
    瀏覽(19)
  • 設計模式——適配器模式

    設計模式——適配器模式

    說起適配器其實在我們的生活中是非常常見的,比如:學校的宿舍的電壓都比較低,而有的學生想使用大功率電器,宿舍的就會跳閘,然而如果你使用一個適配器(變壓器)就可以使用了(溫馨提示宿舍使用大功率電器不太安全,容易引起火災,希望大家謹慎使用)。 又比如

    2024年02月12日
    瀏覽(35)
  • 設計模式-適配器模式

    設計模式-適配器模式

    在我們生活中,插座輸出的電源都是220V的,而我們手機充電需要的電壓基本都是5V的。我們不能直接用220V的電壓來給手機充電,也不能說專門有線路來提供5V的電壓。所以就有了充電器,充電器可以將220V的電壓轉為5V的電壓,這樣我們就方便太多了。 上面所說的充電器其實就

    2024年02月08日
    瀏覽(34)
  • 【設計模式】適配器模式

    【設計模式】適配器模式

    適配器模式(Adapter Pattern)是作為兩個不兼容的接口之間的橋梁。這種類型的設計模式屬于結構型模式,它結合了兩個獨立接口的功能。 這種模式涉及到一個單一的類,該類負責加入獨立的或不兼容的接口功能。舉個真實的例子,讀卡器是作為內存卡和筆記本之間的適配器。

    2024年02月12日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包