我有一個複雜的c#類,它有幾個扁平成員和幾個嵌套的複雜類型。初始化「嵌套」對象
作爲一般慣例,如果沒有數據,我不會初始化「嵌套」複雜類型。
舉例來說,如果我有一個類
Public class Person
{
public string FirstName{get;set;}
public Address{get;set;}
}
我不會做Person p = new Person(){FirstName="Test", Address = new Address()};
然而,有人告訴我初始化「的所有子」複雜的類型,即使在我看來,這應該不是情況。爲什麼在我們沒有數據時分配內存。你如何決定對象是否爲空。你比較所有值/定義某種滯後,或定義一個專門的子類來表示空的實例。
您的反饋將不勝感激。
也許你canuse NullObjectpattern:http://en.wikipedia.org/wiki/Null_Object_pattern – JleruOHeP
見http://www.infoq.com/presentations/Null-參考文獻 - 十億美元 - 錯誤 - 託尼 - 霍爾和http://c2.com/cgi/wiki?PrematureOptimization,你的直覺認爲你不應該保留你不需要的空間可能屬於早熟類別優化,並且副作用將導致代碼*更多*更可能引入空引用異常。 –