一个适配器需要做多少“适配”的工作?如果我需要实现一个很大的目标接口,似乎有“很多”工作要做。
的确是如此。实现一个适配器所需要进行的工作,的确和目标接口的大小成正比。如果不用适配器,你就必须改写客户端的代码来调用这个新的接口,将会花许多力气来做大量的调查工作和代码改写工作。相比之下,提供一个适配器类,将所有改变封装在一个类中,是比较好的做法。
一个适配器只能够封装一个类吗?
适配器模式的工作是将一个接口转换成另一个。虽然大多数的适配器模式所采取的例子都是让一个适配器包装一个被适配者,但我们知道这个世界其实负责多了,所以你可能遇到一些状态,需要让一个适配器包装多个被适配者。
......
......