クラスの名前を「ハンドラ」、「マネージャ」、または「コントローラ」に違いはありますか? IE:PurchaseManager
、PurchaseHandler
、PurchaseController
。
これらの十分性は同じ意味を伝えますか、それともそれらの間に明確な違いがありますか?
言語にとらわれない答えがない場合は、言語としてJavaを検討してください。
通常、「コントローラー」は、ユーザーインターフェイスコンポーネントとモデル(購入など)の間のインターフェイスです。コントローラーはシンクラスである必要があり、ユーザーインターフェイスイベントをモデル関数にマッピングするだけです。
「マネージャー」はコードのにおいです。購入はそれ自体で管理する必要があります。または、ベンダーやバイヤーなどの所有クラスで管理することもできます。
「ハンドラ」は通常、オブジェクトにラップされた単一の関数です。これらは、ファーストクラスの機能を持たないレガシー言語でプログラミングするときに必要です。
私の答えは定義に基づいていませんが、「コントローラー」というラベルの付いたものを排他的実装と見なし、「ハンドラー」を包括的と見なしています。 「PurchaseController」と「PurchaseHandler」の複数の可能なバージョンが1つだけ存在することを期待します。
Controllerのもう1つの一般的な名前は「ブローカー」です。これは、その見方を少し変えます。