名前(およびjavadocs)は、MouseAdapter
がアダプター(設計パターン)であることを示します。しかし、私はそのようには見ません - それは何にもまったく適応しません。少なくともMouseAdapterはなぜアダプタですか?
MouseAdapter
のインスタンスは、次のいずれかの方法に渡すことができます。インターフェイス。したがってMouseMotionListener
が期待されるMouseListener
インスタンスを使用することができます。しかし、「翻訳」は起こっていません。そして、それはGoFのUMLには準拠していません - "クラスアダプタ"バージョンでは、あるメソッドへの呼び出しは、アダプティブからメソッドを呼び出すと予想されます。
ので、アダプタ(デザインパターン)ということである、またはそれが混乱の原因となるランダムな名前だけでしょうか?
問題は、MouseAdapterの状況には、既存のadapteesはありません、です。 GoFアダプターの動機づけ(私はGoFの本を引用しています)は、「時には再利用のために設計されたツールキットクラスは、インターフェースがアプリケーションに必要なドメイン固有のインターフェースと一致しないために再利用できません。 MouseAdapterはマウスイベントをキャプチャするために簡単に適合(カスタマイズ)できるため、*アダプタ*です。 GoFアダプターはあなたが変更できない*レガシークラス*(ツールキット)を持っていると言います。そのため、アプリケーションのニーズに合わせてインターフェースを調整します。 – Fuhrmanator