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

Java  中橋接模式——對(duì)象結(jié)構(gòu)型模式的實(shí)例詳解

 更新時(shí)間:2017年09月09日 11:16:34   作者:blueberry_mu  
這篇文章主要介紹了Java 中橋接模式——對(duì)象結(jié)構(gòu)型模式的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文大家能掌握這部分知識(shí),需要的朋友可以參考下

Java  中橋接模式——對(duì)象結(jié)構(gòu)型模式的實(shí)例詳解

一、意圖

將抽象部分與它的實(shí)現(xiàn)部分分離,使他們都可以獨(dú)立的變化。

二、適用性

以下一些情況使用Bridge模式

你不希望在抽象和它的實(shí)現(xiàn)部分之間有一個(gè)固定的綁定關(guān)系。例如這種情況可能因?yàn)椋诔绦蜻\(yùn)行時(shí)刻實(shí)現(xiàn)部分應(yīng)可以被選擇或者切換。

類(lèi)的抽象以及它的實(shí)現(xiàn)都應(yīng)該可以通過(guò)生成子類(lèi)的方法加以擴(kuò)充。這時(shí)Bridge模式使你可以對(duì)不同的抽象接口和實(shí)現(xiàn)部分進(jìn)行組合,并分別對(duì)他們進(jìn)行擴(kuò)充。

對(duì)一個(gè)抽象的實(shí)現(xiàn)部分的修改應(yīng)對(duì)客戶不產(chǎn)生影響,即客戶代碼不必重新編譯。

(C++)你想對(duì)客戶完全隱藏抽象的實(shí)現(xiàn)部分。在C++中,類(lèi)的表示在類(lèi)接口中是可見(jiàn)的。

三、結(jié)構(gòu)

四、代碼

public interface Implementor {
 /**
  * 實(shí)現(xiàn)抽象部分的具體方法
  */
 public void operationImpl();
}
public class ConcreteImplementorA implements Implementor {
 @Override
 public void operationImpl() {
  System.out.println("ConcreteImplementorA");
 }
}
public class ConcreteImplementorB implements Implementor {
 @Override
 public void operationImpl() {
  System.out.println("ConcreteImplementorB");
 }
}
public abstract class Abstraction {
 private Implementor mImplementor;

 /**
  * 通過(guò)實(shí)現(xiàn)部分對(duì)象的引用構(gòu)造抽象部分的對(duì)象
  *
  * @param implementor 實(shí)現(xiàn)部分對(duì)象的引用
  */
 public Abstraction(Implementor implementor){
  mImplementor = implementor;
 }

 public void operation(){
  mImplementor.operationImpl();
 }
}

public class RefinedAbstraction extends Abstraction {

 /**
  * 通過(guò)實(shí)現(xiàn)部分對(duì)象的引用構(gòu)造抽象部分的對(duì)象
  *
  * @param implementor 實(shí)現(xiàn)部分對(duì)象的引用
  */
 public RefinedAbstraction(Implementor implementor) {
  super(implementor);
 }

 public void refinedOperation(){
  //對(duì) Abstraction中的方法進(jìn)行擴(kuò)展。

  System.out.println("refinedOperation");
  operation();
 }
}

public class Client {

 public static void main(String[] args){
  Abstraction abstraction = new RefinedAbstraction(new ConcreteImplementorA());
  abstraction.operation();
 }
}

如有疑問(wèn)請(qǐng)留言或者到本站這區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • java中的阻塞隊(duì)列應(yīng)用場(chǎng)景及代碼實(shí)例

    java中的阻塞隊(duì)列應(yīng)用場(chǎng)景及代碼實(shí)例

    這篇文章主要介紹了java中的阻塞隊(duì)列應(yīng)用場(chǎng)景及代碼實(shí)例阻塞隊(duì)列是一種特殊的隊(duì)列,它提供了線程安全的操作,并在隊(duì)列為空或滿時(shí)提供了阻塞的功能,阻塞隊(duì)列通常用于多線程場(chǎng)景,其中生產(chǎn)者線程向隊(duì)列中添加元素,而消費(fèi)者線程從隊(duì)列中獲取元素,需要的朋友可以參考下
    2024-01-01
  • 深入聊一聊springboot項(xiàng)目全局異常處理那些事兒

    深入聊一聊springboot項(xiàng)目全局異常處理那些事兒

    最近在做項(xiàng)目時(shí)需要對(duì)異常進(jìn)行全局統(tǒng)一處理,所以下面這篇文章主要給大家介紹了關(guān)于springboot項(xiàng)目全局異常處理那些事兒,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • IDEA2023.1.3安裝教程及下載(圖文)

    IDEA2023.1.3安裝教程及下載(圖文)

    最新變化是在IDEA?2023.1中,對(duì)新UI做出了大量改進(jìn),本文主要介紹了IDEA2023.1.3安裝教程及下載,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • spring boot如何使用spring AOP實(shí)現(xiàn)攔截器

    spring boot如何使用spring AOP實(shí)現(xiàn)攔截器

    本篇文章主要介紹了spring boot如何使用spring AOP實(shí)現(xiàn)攔截器,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • java?web項(xiàng)目Session獲取不到問(wèn)題及解決

    java?web項(xiàng)目Session獲取不到問(wèn)題及解決

    這篇文章主要介紹了java?web項(xiàng)目Session獲取不到問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Retrofit+Rxjava實(shí)現(xiàn)文件上傳和下載功能

    Retrofit+Rxjava實(shí)現(xiàn)文件上傳和下載功能

    這篇文章主要介紹了Retrofit+Rxjava實(shí)現(xiàn)文件上傳和下載功能,文中提到了單文件上傳和多文件上傳及相關(guān)參數(shù)的請(qǐng)求,需要的朋友參考下吧
    2017-11-11
  • Java中為什么ArrayList初始化容量大小為10

    Java中為什么ArrayList初始化容量大小為10

    這篇文章主要介紹了Java中為什么ArrayList初始化容量大小為10,帶著問(wèn)題圍展開(kāi)詳細(xì)的介紹,感興趣的小伙伴可以參考一下
    2022-06-06
  • 用JAVA實(shí)現(xiàn)楊輝三角實(shí)例

    用JAVA實(shí)現(xiàn)楊輝三角實(shí)例

    大家好,本篇文章主要講的是用JAVA實(shí)現(xiàn)楊輝三角實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • SpringBoot多環(huán)境配置及配置文件分類(lèi)實(shí)例詳解

    SpringBoot多環(huán)境配置及配置文件分類(lèi)實(shí)例詳解

    這篇文章主要介紹了SpringBoot多環(huán)境配置及配置文件分類(lèi),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • SpringBoot整合Web開(kāi)發(fā)之Json數(shù)據(jù)返回的實(shí)現(xiàn)

    SpringBoot整合Web開(kāi)發(fā)之Json數(shù)據(jù)返回的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot整合Web開(kāi)發(fā)其中Json數(shù)據(jù)返回的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評(píng)論

县级市| 梅州市| 霸州市| 托克托县| 焦作市| 普格县| 兰坪| 榆社县| 阳曲县| 竹溪县| 洞口县| 崇信县| 凉城县| 中西区| 东安县| 江陵县| 沁阳市| 哈尔滨市| 盐山县| 巴彦淖尔市| 洪洞县| 阳西县| 蒲城县| 葵青区| 衡山县| 兰溪市| 霍邱县| 平舆县| 什邡市| 沙田区| 沁阳市| 奉节县| 黄石市| 含山县| 名山县| 恩平市| 磐石市| 准格尔旗| 新闻| 汉川市| 秦皇岛市|