在什么情况下使用变压器模式 在以下各种情况下使用变压器模式:
第一、 你需要使用现有的类,而此类的接口不符合你的需要。
第二、 你想要建立一个可以重复使用的类,用以与一些彼此之间没有太大关联的一些类, 包括一些可能在将来引进的类一起工作。这些源类不一定有很复杂的接口。
第三、 (对实例形式的变压器模式而言)你需要改变多个已有的子类的接口, 如果使用类形式的变压器模式,就要针对每一个子类做一个变压器类,而这不太实际。
J2SE中的变压器模式的使用 在爪哇语言2.0的标准SDK中,有很多的变压器类。如:
- 库程序包java\awt\event中有
- ComponentAdapter
- ContainerAdapter
- FocusAdapter
- HierarchyBoundsAdapter
- KeyAdapter
- MouseAdapter
- MouseMotionAdapter
- WindowAdapter
- 库程序包Javax\swing\event中有
- InternalFrameAdapter
- MouseInputAdapter
这些都是变压器模式使用的实际例子。值得指出的是,WindowAdapter的建立者们不可能预见到你所要使用的目标接口, 因此WindowAdapter不可能实现你的目标接口。但是,在考察了这些变压器类的使用范围之后,我们会发现, WindowAdapter只需实现WindowListener的接口即可,也就是说,目标接口被省略了。请见下面的解释。