名称(和 javadoc)暗示 MouseAdapter
是一个适配器(设计模式)。但我不这么认为——它不适应任何事物,至少乍一看是这样
唯一发生的改编是您可以将 MouseAdapter
的实例传递给需要任一接口(interface)的任何方法。因此,您可以使用 MouseListener
实例,其中只需要 MouseMotionListener
。但是没有“翻译”发生。并且它不符合 GoF 的 UML - 在“类适配器”版本中,预计对一个方法的调用会从适配器调用一个方法。
那么,这是一个适配器(设计模式),还是只是一个引起混淆的随机名称?
最佳答案
MouseAdapter
首次出现在 Feb 1997 发布的 Java 1.1 中.这意味着它是在 1996 年(或 1995 年?)的某个时候开发的
UML(在其草案中)是 completed by 1997 .
GoF 的第一本关于设计模式的书是 published in 1995 .
因此,我认为 MouseAdapter
中的 Adapter 与相应的设计模式没有任何关系。或者,即使有,开发人员也没有统一的语言来表达设计模式,这将导致很难理解真正的含义。
关于java - 为什么 MouseAdapter 是适配器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9244185/