11

适配器和转换器有什么区别?所有转换器都是适配器吗?

(在设计模式方面)

4

1 回答 1

20

不,我不会认为它们是同一件事。适配器通常是使一个接口适应另一个接口的东西。例如,我可能会为我的应用程序创建一个适配器接口来发送电子邮件。一个适配器将完成与 SMTP 接口相关的所有工作,另一个适配器可能会完成与 Exchange 接口相关的所有工作。使用任一适配器的代码,它们将以相同的方式使用(可能都实现相同的接口)。适配器使一个接口适应另一个接口。我的想法是我可以根据需要将它们换掉。

转换器是将一个或多个值更改为一个或多个不同值的东西。例如,我可能需要将 Unicode 文本转换为 ASCII 文本。这不是调整接口,以便其他需要不同接口的东西可以使用它,而是转换值以便可以使用需要 ASCII 文本的单个接口。

现在,适配器可能需要进行一些转换才能适配接口;但情况并非总是如此。

于 2012-07-21T00:52:29.760 回答