1. ホーム
  2. model-view-controller

[解決済み] MVC :: モデルとは何ですか?

2022-03-08 12:54:23

質問

モデルについて決断を迫られているところです。モデルとは、データベースの操作をすべて行うために使用するものだと認識しています。しかし、モデルはこれに限定されるのでしょうか?

それとも、外部からのデータ操作(外部APIからのデータなど)にも使用できるのでしょうか?

どのように解決するのですか?

例えば、 Django では、モデルはデータリレーション (テーブル) にマップするクラスで、潜在的にはブリッジテーブル (例えば多対多のリレーションの場合) にもなります。

同じクラスは、対応するデータに対する操作のためのメソッドを持つことができ、モデル自体を定義するのではなく、データへのアクセスやフィルタリングのためのメソッドを定義する追加のクラスが存在することができます。

しかし、MVCにおけるモデルという用語は、一般的にデータ構造とそれにアクセスするためのメソッドを記述するために適用されます。

フレームワークによって、抽象的な用語が多少曲げられていることがあります。例えば、Django がビューと呼んでいるものは実際にはコントローラ関数であり、プレゼンテーションを定義するエンティティはビューではなくテンプレートと呼ばれています。