參考書——《HeadFirst設計模式》
從現實生活中來說這個模式=====》普通插座,手機的充電器,數據線。我們不能把數據線直接插在普通插座上,因爲普通插座沒有usb接口,可我們可以把充電器插在普通插座上,然後再把數據線與充電器相連接,這樣就ok了。OO適配器和現實世界中的適配器扮演者同樣的角色——將一個接口轉換成另一個接口,以符合客戶的期望。
客戶是依據目標接口實現的。
適配器實現了目標接口,並持有被適配者的實例。
上圖是“對象”適配器(在這裏就不說“類”適配器了,因爲Java不支持多繼承)
這個適配器充斥着良好的OO設計原則:使用對象組合,以修改的接口包裝被適配者,這種做法的額外優點:被適配者的子類,都可以搭配着適配器使用