テキストベースのファイル (別名コードエディター) の編集を伴う JavaScript アプリケーションを設計しています。現在、アプリケーションのファイル エクスプローラー領域に取り組んでいます。これを 3 つの MVC 部分に分割しました。
DOM Stricture を (主に jQuery 経由で) 管理し、ユーザー インタラクションをアプリケーション メディエーターに発行するビュー。(例: ユーザーが「ファイルの追加」をクリックすると、ビューは名前を尋ね、新しい名前で「files.new」イベントをトリガーします。)
コントローラー。コントローラーは、ビューによってトリガーされたほとんどのイベントを受け取ります。私が理解していることから、コントローラーはモデルの更新を担当する必要があります。たとえば、ビューが新しい名前で「files.nameChanged」イベントをトリガーした場合、コントローラーはモデルを更新することでそのイベントを処理します。
モデル。現在、モデルは生データのみに限定されています。イベントやあらゆる種類の API はありません。それは私の質問に私を導きます:
モデルはどのように通信する必要がありますか? などの API を公開することを検討しましたmodel.updateRecord()
。しかし、それを行うと、ビューはどのレコードを更新する必要があるかをどのように伝えることができますか? たとえば、ユーザーがファイルの名前を変更した場合、コントローラーはどのファイルが変更されたかをどのように認識し、それをモデルにどのように伝えるのでしょうか?