私はググって調査しましたが、まだ明確にする必要があります: アダプタークラスとコントローラークラスは似ていますか? そうでない場合、それらはどのように異なりますか?
親切に説明してください。
アダプタは、インターフェイスまたは抽象クラスのデフォルト(多くの場合空)の実装を提供するパターンです。たとえば、インターフェイスMouseAdapter
の空の実装を提供しMouseListener
ます。インターフェイスによって宣言されたすべてのメソッドを実際に使用するわけではないため、インターフェイスを直接実装するのは非常に冗長であるため、これは便利です。
ControllerはMVC--Model-View-Controllerパターンの一部です。アダプタとの直接の関係はありません。
アダプターの主な役割は、異なるインターフェイスが必要な状況でオブジェクトを機能させることです。
コントローラー (MVC の意味で) は、モデル クラスとビュー クラスの間の仲介者であるという点で似ていますが、通常、プログラムがどのように機能するかについて、より多くの知識を具体化するという点で異なります。コントローラーは、あるインターフェイスを別のインターフェイスに適応させるだけではありません。
メソッドを持つ Color クラスがあるとしますsetColor(red, green, blue)
。setColor(hue, saturation, value)
メソッドを期待するコードもあります。Color クラスをラップするアダプタ クラスを作成し、Color クラスが提供するメソッドに関して期待されるメソッドを実装できます。
アダプタ クラスの利点:
Android のアダプター オブジェクトは、(例の) リストのビュー要素を提供します。したがって、それらは明らかに MVC パラダイムのビュー部分に属します。
本質的に同じメソッドに異なる名前を付けることによって別のクラスのメソッドを適応させるクラス (つまり、add(ArrayList) の代わりに push(Stack)) は、アダプタ クラスと呼ばれます。