1

私は、単一ページの Javascript アプリケーションを構築するチームのメンバーです。私は主に Web バックグラウンド (Struts、Spring、Rails、Sinatra など) から来ており、MVC パターンの解釈が異なることを知っています。デスクトップ MVC (これは単一ページの Javascript アプリケーションに当てはまると思います) で見た 1 つのことは、それらがインスタンス化可能なモデルとシングルトン コントローラーおよびビューを使用していることです。つまりCompany.Book、 、Company.recentlyPurchasedBooksController、およびが存在する可能性がありCompany.recentlyPurchasedBooksViewます。コントローラーはモデル (またはそのコレクション) のインスタンスを保持し、そのモデルが変更されるとビューが更新されます。

私のチームもウェブのバックグラウンドを持っていますが、これは非常に「魔法のようなもの」です。彼らは、コントローラーがビューのインスタンスを作成し、それにモデルを入力して、ページの一部にレンダリングするワークフローを強く好みます。

これにはいくつか異議がありますが、私の異議が実際に重要であるという個人的な経験はありませ。1 つ目は、コントローラーが DOM を認識してはならないため、レンダリングする場所をビューに伝えることができないということです。彼らは、ビューはインスタンス化可能であるべきだと主張しています (「ページ上に複数のビューのコピーが必要な場合はどうすればよいですか?」)。

ブログの投稿、書籍、参考文献など、この議論を解決するのに役立つものはどこにありますか? 開発者の快適さのために MVC パターンを破ることは、長期的には純利益または純損失になりますか?

4

1 に答える 1

2

私自身は使用していませんが*、puremvcには MVC 実装の JavaScript ポートがあり、これを調べてみると非常に有益であることがわかりました。オブジェクト図と同様です。

* 1 ページの JavaScript Web および Air アプリの場合、私はJavaScriptMVCを使用しており、開発の問題を際限なく緩和することがわかっています (ただし、すべてを使用しているわけではなく、好きな部分だけを使用しています - VC)。

于 2011-03-16T01:30:59.630 に答える