私は今、私が実際にコードを整理して、スケーラビリティと管理性を向上させたいと思っています。私はフレームワークを使用せずにjavascriptでMVCアーキテクチャのより良い理解を得たいです。MVC in Vanilla JavaScript
だから、これは私が(私が間違っている場合は、私を修正してくださいしてくださいしてください)これまでに理解するものです:
モデル: サイト/ Webアプリケーションのコンテンツ(写真、コピー、ダウンロードの組織化構造コンテンツなど...) も、コンテンツの操作に必要なロジックを持っています。 javascriptでは、モデルはJSONオブジェクトでも、データベースを取得/更新するphpファイルへの呼び出しでもよく、モデルのロジックは解析、正規表現、および整理して渡すことができる関数にすることができますビューにオフですか?
:ユーザーインターフェイスとモデルのデータ/コンテンツの視覚的表現。その唯一の仕事はコンテンツを表示し、該当する場合はユーザーの入力を受け入れることですか?
コントローラ:コントローラーのみのジョブはモデルとビューの間のメディエーターとして機能するのですか?例えば、ビューにデータが必要な場合は、コントローラーにモデルにアクセスしてデータを取得し、ビューに戻します。ユーザからの入力があれば、ビューはそれをコントローラに送信します。コントローラはモデルをモデルに送信し、モデルが更新されたことをコントローラに通知します。
MVCは、MVCがJavaScript(Java、PHP、Java、Actionscriptなどのリースではないリース)で自然なアクセンチュアではないという事実と組み合わせて、私の混乱のポイントです。 。)
JavascriptからMVC asidesを見て、それについてのいくつかの理論を読んでみてください。次に、これらのメソッドを任意の言語で適用できます。 – TJHeuvel
私はまだ、MVCの純粋なMVCの実装を、javascriptの最初から見たことがありません。 TodoMVCでのバニラJの実装は、異なるレイヤーの分離がありますが、確かに真のMVCではありません。受け入れられた答えに私のコメントを参照してください。ヘッドファーストデザインパターンのイラストが役立つかもしれません:http://codereview.stackexchange.com/questions/42353/is-the-vanilla-implementation-of-todomvc-really-an-mvc-app – oligofren
真のmvcは、最初からボイラープレートコードの量です。バニラTodoMVCアプリは900 +ラインのJSですが、本当のMVCには欠かせない要素です。 "The Sheep"の答えは、これが必ずしも悪いことではない理由を説明しています; – oligofren