移動硬盤與適配器模式
----Head First Pattern之適配器模式
很多人都有移動硬盤,它比U盤容量大的多,體積也小,攜帶方便,用來拷資料、備份都很不錯。并且硬盤價格越來越便宜,120G的移動硬盤現(xiàn)在才300多。
其實移動硬盤里面就是一塊普通的筆記本硬盤,還有一個IDE口(或SATA口,看硬盤的類型了,現(xiàn)在一般都是SATA口即串口,IDE口就是并口)和USB口的轉(zhuǎn)換卡,用USB線和電腦上的USB口連接起來就行了。
我手頭有一個40G的IDE口筆記本硬盤,想在PC電腦上用,但又不想把電腦拆開插主板的IDE線上。看到電腦上還有很多空閑的USB口,就想能不能讓筆記本硬盤的IDE口連到電腦的USB口?直接連肯定不行,接口不匹配啊。就去電子市場逛了一個下午,發(fā)現(xiàn)有一種轉(zhuǎn)接卡,一頭可以插IDE口,一頭是USB口,能連USB線,USB線就可以連電腦的USB口了。我買了轉(zhuǎn)接卡回到家,把轉(zhuǎn)接卡一頭插在筆記本硬盤的IDE口上,另一頭連上USB線,再把USB線連到電腦的USB口上。大功告成,現(xiàn)在我的筆記本硬盤就變成移動硬盤了。轉(zhuǎn)接卡就是連接IDE口和USB口的適配器。這就是適配器模式。
下面看適配器的UML類圖:
這個類圖有點問題,其實Adaptee應(yīng)該是一個接口,還有個實現(xiàn)這個接口的ConcreteAdaptee,而Adapter是目標(biāo)接口,ConcreteAdapter必須實現(xiàn)Adapter,持有一個Adaptee。移動硬盤和適配器模式對應(yīng)關(guān)系如下:
Adapter: USB接口
Adaptee:筆記本硬盤的IDE接口
ConcreteAdapter:轉(zhuǎn)接卡
總而言之,適配器模式就是把一個接口Adaptee,適配成目標(biāo)接口Adapter。
某些時候適配器和裝飾模式有點相同之處,但是兩者本質(zhì)是不一樣的。
Adapter是把所包裝的接口,轉(zhuǎn)換為另一個接口。而Decorator是給所包裝的接口,添加新的行為或方法。