2
我再次找到出路來處理與我們的業務對象上的輔助對象列表。優點/缺點列表與子對象
事實上,我們的代碼往往看起來是這樣的:
public class Object
{
private List<SubsidiaryObject> subsidiaryObjects = null;
public List<SubsidiaryObject> SubsidiaryObjects
{
get
{
if (this.subsidiaryObjects == null)
{
this.subsidiaryObjects = DBClass.LoadListFromDatabase();
}
return this.subsidiaryObjects;
}
set
{
this.subsidiaryObjects = value;
}
}
}
刀豆這個:
- 該物業在表示層參考和用於數據綁定。釋放對實際列表的引用並將其替換爲新的引用將結束於GUI中的引用列表中,該引用列表中沒有任何對象上的列表。
這個臨:
- 重裝列表的方式簡單(只需設置引用設置爲null,然後再得到它)。
我開發了採用以下模式另一個類:
public class Object2
{
private readonly List<SubsidiaryObject> subsidiaryObjects = new List<SubsidiaryObject>();
public List<SubsidiaryObject> SubsidiaryObjects
{
get
{
return this.subsidiaryObjects;
}
}
public void ReloadSubsidiaryObjects()
{
this.SubsidiaryObjects.Clear();
this.SubsidiaryObjects.AddRange(DBClass.LoadListFromDatabase());
}
}
臨上這樣的:
- 參考是連續的。
刀豆這個:
- 重新加載列表是比較困難的,因爲它只是不能更換,但必須清除/填充重新加載項。
什麼是你喜歡的方式,什麼情況?
對於這些模式中的任何一種,您認爲Pro/Con是什麼?
由於這只是一個普遍問題,不是針對特定問題,所以每個答案都是值得歡迎的。
事實上,保持原始實例的主要原因是,它是一個附屬對象本身......除了頂層之外。 – 2010-02-22 13:01:33