從DB獲取對象時,是否應該加載對象的屬性?似乎有這些方法。從數據庫填充對象 - 你停在哪裏?
- 創建格式良好的完全加載的對象。
Pro:無需檢查屬性是否已加載;它有。通過它,不要擔心對象的部分不在那裏。
缺點:你在哪裏停下來?如果一個對象有一個對象,並且該對象有一個對象,並且該對象有40個對象作爲屬性,等等......您是否加載了整個數據庫?或者,你是否在BLL中決定什麼構成格式良好的對象,然後加載這些屬性?
- 請勿加載任何其他對象的屬性。
Pro:快速,無需加載不必要的屬性。
缺點:代碼必須經常寫檢查,如果屬性被填充。
- 延遲加載:只在第一次使用時加載屬性。
Pro/Con:不知道該怎麼說這種方法。這看起來直覺上是錯誤的。
難道還有其他的方法嗎?什麼方法是最好的?
最後,什麼屬性,可以爲空?例如,一輛汽車可能沒有一個PreviousOwner對象。你把它設置爲空嗎?一個空的PreviousOwner對象?那財產屬於另一類嗎?