コントローラとコマンドが両方ともビジネスロジックをカプセル化しているので、時々私はコントローラとコマンドが同じだと思います。私が考えることができる唯一の違いは、コマンドはパラメータなしでexecute()メソッドを持たなければならないが、コントローラのexecute()メソッドはパラメータを受け入れることができるということです。または私は間違っていますか?MVCパターンのコントローラとコマンドパターンのコマンドの違いは何ですか?
答えて
自分自身を明らかにした願っています。概念的には、コマンドはデザインパターンですが、コントローラはメタデザインパターンの一部です。つまり、それらは相互に排他的で包括的ではありません。コントローラーはコマンド(またはコマンドの集合)から構成することができます。 MVCには多くの種類があり、コントローラーにはさまざまな責任がありますが、一般にコントローラーはユーザー入力をアプリケーションデータ(モデル)に変換するために厳密に使用されます。ほとんどのMVCフレーバでは、モデルが変更されたときにビューを更新する役割も担います。 一般に、コントローラは長寿命です。特定のモデルやビューが存在する限り存在し、ビュー/モデル登録システムを持っていれば存在します。
一方、コマンドは理論的にはステートレスです。コマンドはガベージコレクションのためにリリースされます。実際には、コマンドはexecuteメソッドの実行時間よりわずかに長く存続することができます。これは、より簡単に非同期操作を容易にするためです。しかし、コマンドは常に唯一のタスクに集中する必要があり、終了したらそれらは消えるべきです。
差が巨大である:MVC(モデルビューコントローラ)に
、「コントローラ」は、「モデル」に格納されているものを「表示」するように指示し、また、ユーザによって行われた変更を保存します「ビュー」の「モデル」のすべての変更は「ビュー」に通知されます。モデルはXMLファイル、データベースなどとなります。 "ビュー"の例はGUIです。 HEREあなたはmvcパターンの詳細を読むことができます。
コマンドパターンでは、「コマンド」オブジェクトは呼び出し元を知らずにアクションを実行します。 HEREスイッチャーの簡単な例があります。スイッチャーが..
をランプのオン/オフを切り替えるだけでなく、エンジン、または何か他のことができます私は、私はそれは少しオレンジにリンゴを比較するようなものだ
- 1. MVCパターンのコントローラーとMVPパターンのプレゼンターの違いは何ですか?
- 2. Page Controllerとmvcパターンの違いは何ですか?
- 3. MVCパターンの「モデル」とは何ですか?
- 4. MVC、コントローラとモデルの違い?
- 5. コントローラとコントローラの違いは何ですか?
- 6. IngressコントローラとIngressコントローラの違いは何ですか?
- 7. Spring MVCのコントローラに値を渡すと、違いは何ですか?
- 8. mvn:deployコマンドとmvn:installコマンドの違いは何ですか?
- 9. Akka 2のディスパッチャの違いと使用パターンは何ですか?
- 10. インタプリタとメディエータの設計パターンの違いは何ですか?
- 11. 工場とパイプラインの設計パターンの違いは何ですか?
- 12. スプリングブートの/ *と/ **パターンの違いは何ですか?
- 13. 流暢なインターフェースとBuilderパターンの違いは何ですか?
- 14. ディスパッチャ・ビューとサービス・デザイン・パターンの違いは何ですか?
- 15. パターンとパスの違いは何ですか?
- 16. FlyweightとSingletonパターンの実用的な違いは何ですか?
- 17. テンプレートパターンと戦略パターンの違いは何ですか?
- 18. Railsコントローラの 'env'と 'request.env'の違いは何ですか?
- 19. codeigniterのコントローラとライブラリの違いは何ですか?
- 20. MVCのモデルとデータとデータベースの違いは何ですか?
- 21. keytoolコマンドのインポートと-importcertの違いは何ですか
- 22. WPFのWPFコマンドとイベントの違いは何ですか?
- 23. gitコマンドの 'origin'と 'remote'の違いは何ですか?
- 24. 弾性ビッグトークのコマンドとコンテナコマンドの違いは何ですか?
- 25. MVC 4では、Microsoft.AspNet.MvcとSystem.Web.Mvcの違いは何ですか?
- 26. OSXでcpとdittoコマンドの違いは何ですか?
- 27. モデルとコントローラの違いは何ですか?
- 28. ディスプレイコントローラとVGA互換コントローラの違いは何ですか?
- 29. node.jsエクスプレスルートとコントローラの違いは何ですか?
- 30. Ember.js setupControllerとの違いは何ですか<Name>コントローラ