擴充卡:基于現有類所提供的服務,向客戶提供接口,以滿足客戶的期望
《Java設計模式》
一、類擴充卡:
OtherOperation(已存在所需功能的類):
Operation(為所要實作的功能定義接口):
OperationAdapter(擴充卡):
-----------------------------------------------------------------------------------------------------------------------------------
二、對象擴充卡:
假如客戶接口期望的功能不止一個,而是多個。
由于java是不能實作多繼承的,是以我們不能通過建構一個擴充卡,讓他來繼承所有原以完成我們的期望,這時候怎麼辦呢?隻能用擴充卡的另一種實作--對象擴充卡:
符合java提倡的程式設計思想之一,即盡量使用聚合不要使用繼承。
OtherAdd和OtherMinus(已存在功能的兩個類):
OperationAdapter(通過适配類的對象來擷取):