適配器模式 - 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)使用
-
如何利用ps去水印
當你在網絡上看到一張圖片的時候很想儲存下來的時候,卻無奈的發現這張圖片有水印,通常我們使用的方法就是截圖,用裁剪的方式去掉有水印的地方,但是如此就會破壞整張圖的佈局美感,下面就教你如何用ps的填充功能快速去除水印。操作方法(01)相信大家對於如何安裝ps已經很...
-
怎麼取消電腦自動鎖屏
不喜歡電腦自動鎖屏,但也不知道怎麼設定,沒關係,一起和我來了解一下吧。操作方法(01)我們先開啟“控制面板”,可以在“開始選單”或者是直接在桌面上開啟,大家就自己選擇吧。(02)開啟之後,我們選擇“系統和安全”。(03)再在“電源選項”下,選擇“更改計算機睡眠時間”。(04)最...
-
html中a標籤的四個僞類
今天爲大家介紹一下html中a標籤的四個僞類,即用於向被選中元素添加特殊的效果......操作方法(01)僞類:僞類用於向被選中元素添加特殊的效果。(元素在特定情況下才具備的)如圖分別是將a標籤的link、hover、active、visited修改後的樣式(02)a標籤的四個僞類之link即未...
-
C語言代碼集:[1]九九乘法表
利用C語言,是屏幕中打印出九九乘法表。代碼展示及目標程序(01)代碼如下:#include<stdio.h>main(){intx,y,z;for(x=1;x<=9;x++){for(y=1;y<=x;y++){z=x*y;printf("%d*%d=%d ",y,x,z);}printf("\n");}}(02)目標程序如圖:代碼分析(01)核心代碼int x,y,z;for(x=1;x<=9;x+...