0

JavascriptMVCパターンでのコントローラーの役割を理解したかったのです。それは一方向ですか、それとも双方向ですか。つまり、コントローラーはモデルとビューの両方の同期を維持する責任がありますか、それともビューが変更されたときにモデルを更新するだけの責任がありますか?または、フレームワーク固有ですか?

また、すべてのフレームワークで、画面に表示されている要素ごとにView Controllerペアを用意する必要がありますか?

4

1 に答える 1

1

MVCで覚えておくべきことは、コードを比較的クリーンで絡みのない状態に保つ「関心の分離」を促進することを目的としているということです。私の経験では、特にJavaScriptでは、多くのMVCの質問に対する「正しい」答えは必ずしもありません。

私はいくつかの大きなHTML/JavaScriptアプリケーションに取り組んできましたが、このアプローチで最も幸運に恵まれました。

  1. データを保持し、ある程度のビジネスロジックを適用する「モデル」オブジェクト。これには、サーバーとの間で変更を同期するためのロジックが含まれる場合があります。
  2. クライアントから簡単に更新できる「表示」コンポーネント。たとえば、さまざまなUI要素をカプセル化するカスタムjQueryコントロールは、ビジネスロジックを可能な限り少なくします。
  3. おそらく、モデルがシステムの残りの部分に基になるデータへの変更を通知するイベントメカニズム。これは主に、モデルがデータの使用方法について心配することを避けるためです。
  4. ユーザーのアクションに応じてモデルを変更する「コントローラー」。

一般的に、すべての醜いコードはコントローラーに収まりますが、これは問題ありません。少なくともシステムの残りの部分は、モジュール式で理解しやすい方法で編成されています。:)結局のところ、それはすべて複雑さの管理に関するものです。

于 2013-03-01T05:51:34.557 に答える