1

テキストベースのファイル (別名コードエディター) の編集を伴う JavaScript アプリケーションを設計しています。現在、アプリケーションのファイル エクスプローラー領域に取り組んでいます。これを 3 つの MVC 部分に分割しました。

  1. DOM Stricture を (主に jQuery 経由で) 管理し、ユーザー インタラクションをアプリケーション メディエーターに発行するビュー。(例: ユーザーが「ファイルの追加」をクリックすると、ビューは名前を尋ね、新しい名前で「files.new」イベントをトリガーします。)

  2. コントローラー。コントローラーは、ビューによってトリガーされたほとんどのイベントを受け取ります。私が理解していることから、コントローラーはモデルの更新を担当する必要があります。たとえば、ビューが新しい名前で「files.nameChanged」イベントをトリガーした場合、コントローラーはモデルを更新することでそのイベントを処理します。

  3. モデル。現在、モデルは生データのみに限定されています。イベントやあらゆる種類の API はありません。それは私の質問に私を導きます:

モデルはどのように通信する必要がありますか? などの API を公開することを検討しましたmodel.updateRecord()。しかし、それを行うと、ビューはどのレコードを更新する必要があるかをどのように伝えることができますか? たとえば、ユーザーがファイルの名前を変更した場合、コントローラーはどのファイルが変更されたかをどのように認識し、それをモデルにどのように伝えるのでしょうか?

4

1 に答える 1

0

Dave Just のコメントを拡張すると、モデルはレイヤーです。モデル レイヤーは、サービス、ドメイン オブジェクト、およびデータ マッパーで構成されます。下のチャートを参照してください。レジストリはモデル レイヤーの一部ではありません。フレームワークを完成させる前に追加したものです。適切な場所にないか、図に正確な説明がありませんが、JavaScript フレームワークに適用されるかどうかはわかりません。

画像リンク: http://i.stack.imgur.com/5ENyB.jpg

于 2013-08-26T02:41:59.163 に答える