適配器模式 - Adapter Pattern
將一個接口轉換成客户希望的另一個接口,使接口不兼容的那些類可以一起工作,其別名為包裝器(Wrapper)。適配器模式既可以作為類結構型模式,也可以作為對象結構型模式。
主要優點
(01)將目標類和適配者類解耦,通過引入一個適配器類來重用現有的適配者類,無須修改原有結構。
(02)增加了類的透明性和複用性,將具體的業務實現過程封裝在適配者類中,對於客户端類而言是透明的,而且提高了適配者的複用性,同一個適配者類可以在多個不同的系統中複用。
(03)靈活性和擴展性都非常好,通過使用配置文件,可以很方便地更換適配器,也可以在不修改原有代碼的基礎上增加新的適配器類,完全符合“開閉原則”。
主要缺點
(01)對於Java、C#等不支持多重類繼承的語言,一次最多隻能適配一個適配者類,不能同時適配多個適配者;Swift也是如此。
(02)適配者類不能為最終類,如在Java中不能為final類,C#中不能為sealed類;
(03)在Java、C#等語言中,類適配器模式中的目標抽象類只能為接口,不能為類,其使用有一定的侷限性。
(04)對象適配器模式的缺點如下:與類適配器模式相比,要在適配器中置換適配者類的某些方法比較麻煩。如果一定要置換掉適配者類的一個或多個方法,可以先做一個適配者類的子類,將適配者類的方法置換掉,然後再把適配者類的子類當做真正的適配者進行適配,實現過程較為複雜。
示例
(01)Target 目標接口
(02)Adaptee
(03)Another Adaptee
(04)Adapter 操作適配器:適配器
(05)使用
-
MATLAB使用importdata讀取字符數據文件並繪圖
本文首先使用importdata()讀取(導入)含有字符和數據的文本格式數據文件,然後介紹通過“.”+數據名的方式讀取結構數組中的數據,最後使用plot()繪製折線圖。操作方法(01)第一,首先準備數據,下圖txt數據文件是某年12個月的月收入情況,既包含數字又包含字符。(02)第二,將該數...
-
電腦屏幕旋轉快捷鍵 。電腦屏幕旋轉了怎麼辦
很多用户有時會不小心觸發一些系統中的快捷鍵導致電腦屏幕方向被更改又不知道怎麼恢復,這就來教一下怎麼旋轉屏幕。方法一(01)電腦屏幕旋轉快捷鍵旋轉至正常位置:CTRL+ALT+方向鍵上。旋轉90度:CTRL+ALT+方向鍵左。旋轉180度:CTRL+ALT+方向鍵下。旋轉270度:CTRL+ALT+方...
-
怎麼在網名上加橫線
我們會經常在一些地方看到有人的網名上有一條橫線,最多的莫過於在QQ暱稱上了。那麼,這種在網名上加橫線的暱稱是怎麼寫的呢?下面以QQ暱稱為例給大家講解怎麼在網名上加橫線。操作方法(01)上面這個是例子,以漢字加數字的中間加了橫線,現在拿一個QQ來修改網名給大家講解...
-
怎麼在Excel列A數據中篩選出列B數據?
已知excel列A數據和列B數據有部分內容相同,怎樣才能篩選出哪些混在列A中的列B數據呢?最笨的方法就是複製列B的數據查找。這裏,我給大家分享一種方法,既準確又快捷的方法。不信,您嘗試一下。操作方法(01)打開需要編輯的Excel文件,觀察列A和列B,列A列B有部分內容重複,現需...