MVCに関する私のメモは次のとおりです。
Model-View-Controller (MVC) と呼ばれるアーキテクチャ パターンに従って編成されたアプリケーションは、主に次の 3 種類のコードで構成されます。
- モデルは、アプリケーションによって操作されるデータ (データの保存方法、操作方法、および変更方法) に関係しています。
- 通常、MVC アプリには、アプリによって操作されるエンティティの種類ごとにモデルがあります。
- モデルはアプリケーションのデータを扱うため、ストレージ層と通信するコードが含まれています。
- ビューはユーザーに提示され、ユーザーが操作できるモデルに関する情報が含まれています。
- ビューは、システムのユーザーとそのデータの間のインターフェースとして機能します。たとえば、Rotten Potatoes では、ビューのリンクまたはボタンをクリックして、映画を一覧表示したり、新しい映画を追加したりできます。
- コントローラーは双方向の対話を仲介します。ユーザーがビューと対話すると (たとえば、Web ページ上の何かをクリックするなど)、そのユーザーのアクティビティに対応する特定のコントローラー アクションが呼び出されます。
- 各コントローラーは 1 つのモデルに対応し、Rails では、各コントローラー アクションはそのコントローラー内の特定の Ruby メソッドによって処理されます。
- コントローラーは、モデルに情報を取得または変更するように要求できます。これを行った結果に応じて、コントローラーはユーザーの次に表示するビューを決定し、そのビューに必要な情報を提供します。
スキーマ- すべてのテーブルとその構造のコレクション
クイズの質問:
RottenPotatoes.com が、モバイル クライアント向けのサイトの代替バージョンである m.rottenpotatoes.com を立ち上げたいとします。サイトが MVC アーキテクチャを使用して構築されている場合、作業の大部分は新規作成に費やされます。
- ビュー
- モデル
- コントローラー
- スキーマ
RottenPotatoes は、映画とその評価を保存する映画データベースです。ユーザーが映画を検索し、その映画が RottenPotatoes データベースにない場合、その映画はデータベースに追加されます。
私のメモによると、「MVCはシンビューとコントローラーを提唱しています」。そこで、(1) ビューと(3) コントローラーを削除しました。
これにより、(2) モデルと(4) スキーマが残りました。それらの定義に基づいて、 (2) のモデルが最も多くの情報を含んでいると思われるため、回答として(2) のモデルを選択しました。
私の答えは間違っていたので、どのような間違いを犯したのか、どの答えがより適切なのか疑問に思っています。