Main( ( item Product p = id = Id { ; Title { ; IList<Lazy<Product>><Product> product1 = Lazy<Product>(() => Product() { Id = , Title = <Product> product2 = Lazy<Product>(() => Product() { Id = , Title = <Product> product3 = Lazy<Product>(() => Product() { Id = , Title = List<Lazy<Product>> IList<Product>= Product() { Id = , Title = = Product() { Id = , Title = = Product() { Id = , Title = List<Product>
還有一種情況,我們知道多線程情況下的單件設計模式需要做數據同步的:
Singleton _Instance =
這樣可以保證多線程的情況下,只有一個實例,因為是在程序加載時,初始化的對象,但是也正因為這樣,失去了單件的一個優勢,按需加載。
所以,我們可以這樣實現:
Lazy<SingletonLazy> _Instance = Lazy<SingletonLazy>
這樣的話,可以保證有一個實例,同時實現延遲加載,按需加載。
以上內容介紹完了,歡迎大家交流和指正
另附:
參考文章:http://www.codeproject.com/Articles/612801/Lazy-Object-Initialization-with-System-Lazy-of-T-c
Demo下載:http://files.cnblogs.com/wpfworld/LazyLoadDemo.rar