2016-09-05 52 views

回答

2

的主要区别是在使用时间:

您会在软件开发过程中使用的适配器,在情况下,你不能改变你引入一个适配器现有的接口。

扩展对象模式提供了这些更改,使您可以扩展已经部署的软件。

此外,从文本您发布:

适配器支持,以适应现有的接口。扩展对象模式支持 其他接口。扩展对象和适配器可以在需要将对象调整为扩展接口的情况下一起工作 。

1

我想你可以从这张图解释扩展对象模式的更好的主意。

enter image description here

你可以看到,客户端可以

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

当您比较适配器时,客户端而不是现有的适配器。

您可以看到图中列出的不同extensions为不同adapters

+0

因此,适配器模式 - 客户端粘贴到现有适配器。但在扩展对象模式中 - 客户端从可用的扩展中查询适配器。我希望我正确理解你的观点。 – CommonMan

+1

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

+1

@SweetWithrathne你也可以用这种方式实现适配器,你可以添加/删除底层适配器(最近是我的软件工程课程的要求之一)。 –

相关问题