この問題は、オブジェクト全体を別のオブジェクトのプロパティまたはそのIDとして含めるときに混乱する問題があります。オブジェクト全体をインクルードすると、オブジェクトをロードするための呼び出しで、参照が必要な場合のみインクルードされたオブジェクトも不必要にロードされるようです。プロパティアプローチとは何ですか?実際のオブジェクトを参照するか、オブジェクトIDだけを参照しますか?
答えて
通常、常に他のオブジェクトを参照します。
多くのORMテクノロジには、「プロキシ」と「遅延読み込み」という概念があります。つまり、オブジェクトを参照しない限り、読み込まれません。
オブジェクトを実際に別の実際のオブジェクトとの関係があるため、オブジェクトIDは実装の詳細です。不要な通話の問題に対処するには、「lazy loading」を参照してください。
詳細が必要な場合のみ、他のオブジェクトを含めてください。
MVCでは、ViewModelを理想的に使用し、エンティティは使用しません。 ViewModelには必要なものだけが含まれています。たとえば、OrderEditViewModelにカスタム名を表示する場合を除いて、customeridが含まれます。カスタム名を表示する場合は、customerのフィールドを追加します。一部の人は、オブジェクトをビューモデルに展開することをお勧めします。そのため、OrderEditViewModel.Customer.CustomerIdではなく、ORderEditViewModel.CustomerIdがあります。オートマッパでこれを手助けすることができます(値インジェクタ - スペルに注意してください)
- データベースに保存するときにIDを含める必要がある場合は、更新情報に 'where id = @ customerId and logicここで、ユーザーが実際にその得意先とルートオブジェクトへのアクセス権を持って確保するために)
私はそれができます(同様に改ざんを防ぐために、Webページ上のレコードIDを暗号化を支援するmvcsecurity.codeplex.comを持っていますが、あなたはまだすべき照会の中にフィールドの改ざんを防ぐために何かを持っているので、攻撃者は他人の顧客idを追加することはできません)。
さらにパラメータtamもし誰かが興味があれば、MVCに行ってください。 http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=hack-proofing-dotnet-app
私の提案は、パフォーマンスについてではなく、デザインについて常に考えることです。パフォーマンスは調整できますが、設計では調整できません。したがって、2つのオブジェクトにAggregation/Compositionが必要な種類の関係がある場合は、それを行う必要があります。
しかし、あなたの所有するオブジェクトがIDを処理するだけであれば(IDを処理する別のオブジェクトに渡すなど)、IDフィールドのみを保持することができます。オブジェクト全体を公開する必要はありません(ただし、オブジェクトを含むオブジェクトが他のオブジェクトについて何も知る必要はありません)。
- 1. Java:元のオブジェクト参照を含むオブジェクト内のオブジェクト参照
- 2. オブジェクト参照対DDD集計内のIDによる参照
- 3. Jackson JSONオブジェクト参照をJSON.Netオブジェクト参照に変換する
- 4. アソシエーション:IDまたはオブジェクト参照を使用しますか?
- 5. HQLのnull参照オブジェクトの参照プロパティ
- 6. オブジェクトを参照するURL
- 7. C++オブジェクト参照
- 8. オブジェクト参照が
- 9. オブジェクト参照が
- 10. オブジェクト参照コンパイルエラー
- 11. オプションのオブジェクト参照
- 12. bottomNavigation:ReselectedListener:nullのオブジェクト参照
- 13. コールバックメソッドのオブジェクト参照
- 14. Mutexオブジェクトは参照渡しですか?
- 15. オブジェクト参照がレイザー
- 16. Location.getLongitude()nullオブジェクト参照
- 17. List参照型オブジェクト
- 18. SVN2Gitオブジェクト参照エラー
- 19. 「nullオブジェクト参照」エラー
- 20. SSIS - インクリメンタルロード - 参照オブジェクト
- 21. nullオブジェクト参照エラースレッド
- 22. はSystem.InputStreamクラスのオブジェクト参照ですか?
- 23. オブジェクト参照変数の型が参照するオブジェクトの型と異なるJavaのメカニズムがありますか?
- 24. 参照するIDのないオブジェクトのCSSを変更する
- 25. レール参照オブジェクトなし
- 26. Jsonをオブジェクト参照でデシリアライズ
- 27. 参照型はオブジェクトですか?
- 28. メソッドを参照してオブジェクトを渡す
- 29. 実行時のオブジェクト参照のトラッキング
- 30. Webサービス参照の参照はすべてのオブジェクトを参照していません