見名知其意,介面卡可用於對多個不相容介面提供適配橋梁介面卡模式屬於結構型模式。在現實世界中,這個模式適用的較為廣泛,比如 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...