MVC のモデルの構造を理解する
一般的な誤解に反して、MVC のモデルは単一のクラスやレイヤーではなく、レイヤーです。物体。この層は、次の 3 つの主要な構造で構成されます:
1.ドメイン オブジェクト
- 問題のドメイン内の論理エンティティを表現します
- 検証、計算などのビジネス ロジックを定義します
- ストレージは考慮しません
2.データ マッパー
- 永続性を担当します
- データベース、XML ファイル、またはその他のストレージ メカニズムと対話する可能性があります
- 物理ストレージ レイヤー上の抽象化を提供します
3.サービス
- ドメイン ビジネス ロジックへの上位レベルのインターフェイスを提供します
- ドメイン オブジェクトとデータ マッパーの両方と対話することができます
- 共通のロジックと対話をカプセル化できます、コントローラーの複雑さを軽減します
モデル
コントローラーとビューは、疎結合とテスト容易性を確保するために、依存関係注入またはファクトリーを通じてモデル サービスにアクセスする必要があります。
モデルとの対話
- コントローラーはユーザー入力を取得し、それに基づいてモデルの状態を変更します。
- コントローラーは入力を検証したり、データベース クエリを実行してはなりません。
- ビューはユーザーに現在のモデルの状態を表示します。
モデルの構築
単一のサービスを構築するのではなく、特定の機能を実装する個別のサービスの作成に重点を置きます。 「モデル」クラス。次に、必要に応じてドメイン オブジェクトとデータ マッパーを作成します。
その他の考慮事項
-
データベース テーブルとモデル: データベース間の関係テーブルとモデル コンポーネントはすべて 1:1:1 ではない可能性があります
-
ビューはテンプレートではありません: ビューはプレゼンテーション ロジックを担当し、テンプレートを使用してモデルから取得したデータに基づいてコンテンツを組み立てます。
-
View-コントローラー関係: Web 開発では、通常、ビューとコントローラーの間に 1:1 の関係があり、各コントローラーがビューに対するリクエストを処理することが推奨されます。特定のページ。
以上がMVC のモデル層の 3 つの主要な構造とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。