私はMVCの新人ですが、私はすでにその利点と利点を見ることができます。しかし、私は(おそらく簡単に答えることができる)設計質問を持っています:MVCアーキテクチャモデルには何がありますか?
私はモデルについて考えていて、それらを構造化する正しい方法を議論しています。私はそれを見る方法にはいくつかのオプションがあります:
1)モデルとテーブル構造には1対1の関係があります。モデルクラスは、テーブルの列に対応する属性を持ち、必要な方法でテーブルのデータを操作するために必要なメソッド(getterやsetterなど)を持っています。これは一般的なオプションのようだと私はコントローラが必要なビジネス機能を実行するために必要なモデルを呼び出すだろうと思う。
2)モデルは、データではなくビジネスロジックの操作により密接に結びついています。たとえば、フロントエンドで特定のオブジェクトの削除が複数のテーブルに影響を及ぼす場合、モデルはこの動作をモデル化し、いくつかのテーブルと相互作用し、必要な機能を実行します。コントローラーは、ビジネスのふるまいが必要な場合に単一のモデルを呼び出すだけで済みます。モデルははるかに緊密に結合されているため、これはあまり一般的ではありませんが、実装するのが早くなりそうです。
3)最初の2つのオプションの間に何かがあります。あるいは、私はその点を完全に見逃しているかもしれない。
これはうまくいけばうまくいきます。私がその点を完全に欠いているわけではないなら、私はオプション(1)が良いと思う傾向がある。何か案が?
編集:それは問題ではありませんが、私はCodeigniter PHP MVCフレームワークの使用を予定しています。
MVCのモデルをもう少し詳しく定義したポストを最近投稿しました。http://www.lavinski.me/mvc-architecture/ –