2016-09-05 78 views

回答

2

的主要區別是在使用時間:

您會在軟件開發過程中使用的適配器,在情況下,你不能改變你引入一個適配器現有的接口。

擴展對象模式提供了這些更改,使您可以擴展已經部署的軟件。

此外,從文本您發佈:

適配器支持,以適應現有的接口。擴展對象模式支持 其他接口。擴展對象和適配器可以在需要將對象調整爲擴展接口的情況下一起工作 。

1

我想你可以從這張圖解釋擴展對象模式的更好的主意。

enter image description here

你可以看到,客戶端可以

  • 添加擴展
  • 獲取(使用)現有的擴展。

當您比較適配器時,客戶端而不是現有的適配器。

您可以看到圖中列出的不同extensions爲不同adapters

+0

因此,適配器模式 - 客戶端粘貼到現有適配器。但在擴展對象模式中 - 客戶端從可用的擴展中查詢適配器。我希望我正確理解你的觀點。 – CommonMan

+1

@CommonMan是的。也可以添加/刪除擴展名。 :)) –

+1

@SweetWithrathne你也可以用這種方式實現適配器,你可以添加/刪除底層適配器(最近是我的軟件工程課程的要求之一)。 –

相關問題