.net4.0設計模式(一)使用Lazy的單例模式
阿新 • • 發佈:2017-09-03
private 延遲 是否 方式 get pub ram creat 程序
延遲加載,亦稱延遲實例化,延遲初始化等,
主要表達的思想是,把對象的創建將會延遲到使用時創建,而不是在對象實例化時創建對象,即用時才加載。這種方式有助於提高於應用程序的性能,避免浪費計算,節省內存的使用等。針對於這種做法,似乎稱之為即用即創建更為合適些。
.net Framework4.0提供了一個包裝類 Lazy<T>,可以輕松的實現延遲加載。
public class LazySingleton { //私有化構造函數用於單例模式 private LazySingleton() { } //Lazy原型為Lazy<T> 對象名=new Lazy<T>(Fun<T>)private static readonly Lazy<LazySingleton> Linstance = new Lazy<LazySingleton>(() => { return new LazySingleton(); }); //通過Value屬性來獲取當前對象的值。 public static LazySingleton Instance { get { return Linstance.Value; } } //可以通過IsValueCreated屬性來確定對象是否已創建 public static bool IsValueCreated { get{ return Linstance.IsValueCreated; } } }
.net4.0設計模式(一)使用Lazy的單例模式