最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java設(shè)計模式之橋接模式的實現(xiàn)

 更新時間:2021年06月06日 15:00:19   作者:RYGAR  
今天給大家?guī)淼奈恼率荍ava設(shè)計模式的相關(guān)知識點,文中對橋接模式作了非常詳細的介紹及代碼示例,對正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下

橋接模式

橋接模式是將抽象部分與它的實現(xiàn)部分分離,使他們都可以獨立地變化。它是一種對象結(jié)構(gòu)型模式,又稱為柄體(Handle and Body)模式或接口(Interface)模式。

在這里插入圖片描述

上圖一個類被三個類繼承,使我們的程序擴展性,可維護性低,違反了單一職責原則。

在這里插入圖片描述

具體代碼實現(xiàn)如下:

1.創(chuàng)建品牌接口

package com.jialidun.gof.birdge;

//品牌
public interface Brand {

    void info();
}

2.創(chuàng)建計算機的抽象類

package com.jialidun.gof.birdge;

//抽象的電腦類型類
public abstract class Computer {

    //組合,品牌 橋
    protected Brand brand;

    public Computer(Brand brand){
        this.brand = brand;
    }

    public void info(){
        brand.info();//自帶品牌

    }
}

3.蘋果品牌

package com.jialidun.gof.birdge;

//蘋果品牌
public class Apple implements Brand{
    @Override
    public void info() {
        System.out.print("蘋果"+"\n");
    }
}

4.聯(lián)想品牌

package com.jialidun.gof.birdge;

//聯(lián)想品牌
public class Lenovo implements Brand{
    @Override
    public void info() {
        System.out.print("聯(lián)想"+"\n");
    }
}

5.臺式機

package com.jialidun.gof.birdge;

public class Desktop extends Computer{
    public Desktop(Brand brand) {
        super(brand);
        System.out.print("臺式機");
    }
}

6.筆記本

package com.jialidun.gof.birdge;

public class laptop extends Computer{
    public laptop(Brand brand) {
        super(brand);
        System.out.print("筆記本");
    }
}

7.測試

package com.jialidun.gof.birdge;

public class Test {
    public static void main(String[] args) {
        //蘋果筆記本
        Computer computer = new laptop(new Apple());
        computer.info();


        //聯(lián)想臺式機
        Desktop desktop = new Desktop(new Lenovo());
        desktop.info();


    }
}

在這里插入圖片描述

好處分析:

1.橋接模式偶爾類似于多繼承方案,但是多繼承方案違背了類的單一職責原則, 復(fù)用性比較差,類的個數(shù)也非常多,橋接模式是比多繼承方案更好的解決方法。極大的減少了子類的個數(shù),從而降低管理和維護的成本

2.橋接模式提高了系統(tǒng)的可擴充性,在兩個變化維度中任意擴展一個維度,都不需要修改原有系統(tǒng)。符合開閉原則,就像一座橋,可以把兩個變化的維度連接起來

劣勢分析

1.橋接模式的引入會增加系統(tǒng)的理解與設(shè)計難度,由于聚合關(guān)聯(lián)關(guān)系建立在抽象層,要求開發(fā)者針對抽象進行設(shè)計與編程。

2.橋接模式要求正確識別出系統(tǒng)中兩個獨立變化的維度,因此其使用范圍具有一定的局限性。

到此這篇關(guān)于Java設(shè)計模式之橋接模式分析的文章就介紹到這了,更多相關(guān)Java橋接模式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • redis實現(xiàn)分布式鎖實例詳解

    redis實現(xiàn)分布式鎖實例詳解

    這篇文章主要為大家詳細介紹了redis實現(xiàn)分布式鎖實例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 詳解如何繼承Mybatis中Mapper.xml文件

    詳解如何繼承Mybatis中Mapper.xml文件

    這篇文章主要為大家介紹了詳解如何繼承Mybatis中Mapper.xml文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • idea 無法debug調(diào)試的解決方案

    idea 無法debug調(diào)試的解決方案

    這篇文章主要介紹了idea 無法debug調(diào)試的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java 時間日期詳細介紹及實例

    Java 時間日期詳細介紹及實例

    這篇文章主要介紹了Java 時間日期詳細介紹及實例的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 深入了解Java中的static關(guān)鍵字

    深入了解Java中的static關(guān)鍵字

    這篇文章主要為大家詳細介紹了Java中的static關(guān)鍵字的用法的相關(guān)資料,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-11-11
  • java報錯:找不到或無法加載主類的解決方法簡單粗暴

    java報錯:找不到或無法加載主類的解決方法簡單粗暴

    本文主要介紹了java報錯:找不到或無法加載主類的解決方法簡單粗暴,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 詳解Java修飾符

    詳解Java修飾符

    Java語言提供了很多修飾符,主要分為以下兩類:訪問修飾符;非訪問修飾符。修飾符用來定義類、方法或者變量,通常放在語句的最前端。我們通過下面的例子來說明,下面就跟小編一起來看下吧
    2016-12-12
  • java中的數(shù)組初始化賦初值方式

    java中的數(shù)組初始化賦初值方式

    這篇文章主要介紹了java中的數(shù)組初始化賦初值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 一文掌握Spring的創(chuàng)建與使用

    一文掌握Spring的創(chuàng)建與使用

    這篇文章詳細介紹了spring的創(chuàng)建與使用,文章中有詳細的代碼示例和圖片介紹,對學(xué)習(xí)有一定的而參考價值,需要的同學(xué)可以參考一下
    2023-04-04
  • java使用hadoop實現(xiàn)關(guān)聯(lián)商品統(tǒng)計

    java使用hadoop實現(xiàn)關(guān)聯(lián)商品統(tǒng)計

    本篇文章java使用hadoop實現(xiàn)關(guān)聯(lián)商品統(tǒng)計,可以實現(xiàn)商品的關(guān)聯(lián)統(tǒng)計,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-10-10

最新評論

正宁县| 社会| 武威市| 黔西| 绿春县| 柏乡县| 巩义市| 若尔盖县| 那曲县| 兴国县| 叶城县| 淮阳县| 乌什县| 芦溪县| 托里县| 林州市| 石阡县| 永寿县| 大连市| 东方市| 中山市| 大英县| 沧源| 铜鼓县| 仙桃市| 石门县| 峡江县| 山西省| 鲜城| 洛扎县| 江达县| 双牌县| 南昌县| 阜新市| 贵定县| 丰都县| 亳州市| 宁晋县| 兴山县| 张北县| 弋阳县|