Lazy 延迟加载

    问题:最近遇到一个项目遇到一个问题(很久的项目,现阶段主要维护),程序初始化的时候比较慢,最后查原因的时候发现是因为一个类的构造方法里面有些逻辑,

    解决办法:希望在使用的时候再进行加载,最后想到了延迟加载(Lazy)

  一、由于实际项目不好贴源代码,先简单模拟数据

      

public class Student
{
    public Student()
    {
        this.Name = "DefaultName";
        this.Age = 0;
        Thread.Sleep(2000);//模拟延时操作
        Console.WriteLine("Student is init...");
    }

    public string Name { get; set; }
    public int Age { get; set; }
}

二、延迟加载处理

            Lazy<Student> student = new Lazy<Student>();

            //在这可以输写一部分业务逻辑。。。。。
            Console.WriteLine("业务逻辑编写。。。");
            
            Console.WriteLine("student对象是否被创建:"+student.IsValueCreated);
            student.Value.Name = "lxsh";
            Console.WriteLine("student对象是否被创建:"+student.IsValueCreated); 
三、运行截图

 


posted @ 2019-04-28 17:11  lxsh_wyan  阅读(745)  评论(0编辑  收藏  举报