zoukankan      html  css  js  c++  java
  • 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); 
    三、运行截图
    
    
  • 相关阅读:
    java设计模式之适配器模式
    在Eclipse中建立Maven Web项目
    java设计模式之原型模式
    java设计模式之建造者模式
    java设计模式之工厂模式
    java设计模式之单例模式
    C# 前端多次上传文件
    C# async 和 await
    .NET 4.0 任务(Task)
    C# 5.0
  • 原文地址:https://www.cnblogs.com/lxshwyan/p/10785123.html
Copyright © 2011-2022 走看看