5

Can you explain me about this Extension Object Pattern and how it differ from the Adapter Pattern?

There seems to be only few resources in web that explains the Extension Object Pattern and most of them are bit confusing (at least for me).

Thanks in advance.

4

2 回答 2

5

主要区别在于使用时间:

您将在软件开发过程中使用适配器,以防您无法更改引入适配器的现有接口。

扩展对象模式提供了这样的更改,并且使您能够例如扩展已经部署的软件。

另外,从您发布的文本中:

Adapter 支持适配现有接口。扩展对象模式支持额外的接口。扩展对象和适配器可以在对象需要适应扩展接口的情况下协同工作。

于 2016-09-06T09:04:00.043 回答
3

我认为您可以从这个解释扩展对象模式的图表中获得更好的想法。

在此处输入图像描述

你可以看到一个客户可以

  • 添加扩展
  • 获取(使用)现有的扩展。

当您比较适配器时,客户端宁愿坚持现有的适配器。

您可以extensions将图表上列出的不同视为不同adapters

于 2016-09-06T10:00:43.410 回答