Zend Framework の完全な MVC 機能を使用し、サービス レイヤー、ドメイン モデル、およびマッパーを含む Web アプリケーションを作成しています。レイヤーについての私の理解は正しいと思いますが、確認したいと思います。
上のレイヤーは下のレイヤーに依存しているため、上から順に:
コントローラー - 最上位レイヤー。インスタンス化、入力、およびレンダリングするビューに大きく依存します。モデルへのアクセスはサービスに依存します。
表示 - コントローラを認識していません。場合によっては、サービスまたはモデルに依存します。たとえば、選択コントロールのルックアップ リストを設定する場合などです。
サービス - コントローラーなどのクライアントに API を提供します。モデルに大きく依存します。実際、サービスは、モデルのマッパー部分とドメイン部分の間を仲介して、クライアントのために作業を完了することがよくあります。
マッパー (モデル、パート A) - ドメインについての深い知識があり、ドメイン オブジェクトを操作してリレーショナル データ ストアに適合させ、リレーショナル データを操作して新しいドメイン オブジェクトを作成します。
ドメイン モデル (モデル、パート B) - ドメイン ロジックが含まれています。ドメイン オブジェクトは他のレイヤーを認識しませんが、他のドメイン オブジェクトにアクセスする必要があるため、「オブジェクト ファインダー」としてマッパーにアクセスする場合があります。
それは正しいと思いますか?私は何を逃したのですか?