web-dev-qa-db-ja.com

ハンドラー、マネージャー、コントローラーの違い

クラスの名前を「ハンドラ」、「マネージャ」、または「コントローラ」に違いはありますか? IE:PurchaseManagerPurchaseHandlerPurchaseController

これらの十分性は同じ意味を伝えますか、それともそれらの間に明確な違いがありますか?

言語にとらわれない答えがない場合は、言語としてJavaを検討してください。

24
hpique

通常、「コントローラー」は、ユーザーインターフェイスコンポーネントとモデル(購入など)の間のインターフェイスです。コントローラーはシンクラスである必要があり、ユーザーインターフェイスイベントをモデル関数にマッピングするだけです。

「マネージャー」はコードのにおいです。購入はそれ自体で管理する必要があります。または、ベンダーやバイヤーなどの所有クラスで管理することもできます。

「ハンドラ」は通常、オブジェクトにラップされた単一の関数です。これらは、ファーストクラスの機能を持たないレガシー言語でプログラミングするときに必要です。

15
kevin cline

私の答えは定義に基づいていませんが、「コントローラー」というラベルの付いたものを排他的実装と見なし、「ハンドラー」を包括的と見なしています。 「PurchaseController」と「PurchaseHandler」の複数の可能なバージョンが1つだけ存在することを期待します。

Controllerのもう1つの一般的な名前は「ブローカー」です。これは、その見方を少し変えます。

7
David Savage