延遲載入,亦稱延遲例項化,延遲初始化等,主要表達的思想是,把物件的建立將會延遲到使用時建立,而不是在物件例項化時建立物件,即用時才載入。這種方式有助於提高於應用程式的效能,避免浪費計算,節省記憶體的使用等。針對於這種做法,似乎稱之為即用即建立更為合適些。
先來看一下在framework4.0中如何實現延遲載入。
framework4.0提供了乙個包裝類lazy,可以輕鬆的實現延遲載入。
字串物件延遲載入完整示例class
program
}public
class
testlazy
}
可以通過isvaluecreated屬性來確定物件是否已建立,通過value屬性來獲取當前物件的值。
下面再用乙個例子,演示延遲載入。
在這個例子中,使用了bloguser物件,該物件包含多個article物件,當載入bloguser物件時,article物件並不載入,當需要使用article物件時,才載入。
**
包含子物件的延遲載入class
program
}}
public
class
bloguser
public lazy> articles
public bloguser(int
id)
}public
class
article
public
string title
public datetime publishdate
}public
class
articleservices
,new article,
new article,
new article
};console.writeline(
"article initalizer");
return
articles;
}}
**
JPA之立即載入與延遲載入
test public void test 根據id查詢客戶 find 立即載入 1 查詢的物件就是當前客戶物件本身 2 在呼叫find方法的時候,就會傳送sql語句查詢資料庫。getrefrence 延遲載入 懶載入 1 獲取的物件是乙個動態 物件 2 在呼叫getrefrence方法的時候,不會...
hibernate之4 延遲載入
延遲載入 只有當使用以實體物件的屬性 除主鍵屬性外 時,才會傳送查詢語句到資料庫 get不支援延遲載入 test public void gettest finally 結果 hibernate select student0 student id as student1 0 0 student0 ...
Linq之延遲載入特性
寫在前面 系列文章 延遲載入 總結上篇文章介紹了linq中常見的幾個關鍵字,並列舉了幾個例子,算是對linq如何使用有了初步了解。上篇文章中也提到了,能夠使用linq的場合有乙個要求 實現ienumerable泛型介面,或者型別相容 可以通過cast方法轉換,比如arraylist linq之lam...