データベースからドメイン オブジェクトをロードすると、それに関連するオブジェクトのキーを取得できます。たとえば、「組織」を読み込むと、関連する「所有者」の ID がわかります。
リクエストまたはセッション中に使用する保証がないため、Owner プロパティを遅延ロードする必要があります。
したがって、私の見方では、Organization オブジェクトは次のいずれかになります。
- OwnerId プロパティと Owner プロパティがあります。Owner プロパティはオンデマンドでのみ入力されます (ルックアップに OwnerId を使用)。この場合、唯一の (小さな) 課題は、2 つのプロパティの同期を維持することです。また
- Owner プロパティのみを持ちます。これには、最初に所有者を検索するためのキー (整数) が含まれます。Owner が呼び出された場合、値は Owner オブジェクトに置き換えられます。この場合、(小さな) 課題は、型キャストの問題を回避することです。
どのアプローチが最適ですか? なんで?または、他のアプローチはありますか?他に何か不足していますか?
ドメイン、マッパー、およびサービスレイヤーでPHPを使用しています。あなたの考えは大歓迎です!