設計模式系列 介面卡模式

2021-10-08 05:57:00 字數 1315 閱讀 9532

見名知其意,介面卡可用於對多個不相容介面提供適配橋梁

介面卡模式屬於結構型模式。在現實世界中,這個模式適用的較為廣泛,比如 diy 一些電子產品,主要元器件提供的是標準介面,那麼無論我們購買什麼品牌的元器件,最終都能組裝起來正常執行。

1、定義擴充套件介面和受支援的型別

public inte***ce iadvancedmediaplayer

public enum audiotype

public class mp4player:iadvancedmediaplayer

public void playmp4(string filenmae)

");}

}public class vlcplayer:iadvancedmediaplayer

"); }

public void playmp4(string filenmae)

}

3、定義介面卡

public class mediaadapter:imediaplayer

}public void play(audiotype audiotype, string filename)}}

4、使用介面卡

public  inte***ce imediaplayer

public class audioplayer:imediaplayer

"); break;

case audiotype.vlc:

case audiotype.mp4:

mediaadapter = new mediaadapter(audiotype);

mediaadapter.play(audiotype, filename);

break;

default:

console.writeline($"invalid media. format not supported");

break;}}

}

5、上層呼叫

class program

}

介面卡的使用一般是在已有的業務邏輯上進行擴充套件而來的,可以將任何沒有關聯的類聯絡起來,提高了**的復用。但是在乙個系統要從全域性出發,不能過多的使用,否則會使系統非常混亂。

JAV設計模式系列 介面卡模式

我的膝上型電腦的工作電壓是20v,而我國的家庭用電是220v,如何讓20v的膝上型電腦能夠在220v的電壓下工作?答案是引入乙個電源介面卡 ac adapter 俗稱充電器或變壓器,有了這個電源介面卡,生活用電和膝上型電腦即可相容,如圖所示 在軟體開發中,有時也存在類似這種不相容的情況,我們也可以像...

設計模式系列 介面卡模式(Adapter)

專案中資料展示一般會有分頁需求,開始階段我們定義乙個介面 oldpagination來表示分頁資訊,詳情如下 public inte ce oldpagination實現類 oldpaginationimpl public class oldpaginationimpl implements old...

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...