什么是延迟加载?  

  延迟加载顾名思义就是:推迟加载的时机,当真正使用的时候才加载

  通常在创建一个大对象时,有些属性我们可以在使用到的时候才去创建(设置属性的值),这个可以有效的提升系统性能。  

示例:

//定义了一个Hero类型
public class Hero
{
    public string Name{get;set;}
    
    public string FullName{get;set;}
    
    public Skill objSkill;
    
    public Hero(string name)
    {
        Name=name;
        FullName="Super "+name;
        objSkill=new Skill(name);
    }
}

//定义一个Skill类型
public class Skill
{
    public string Name{get;set;}
    
    public int Power{get;set;}
    
    public Skill(string name)
    {
        Name=name;
        Power=name.Length;
    }
}


public class Program
{
    public static void Main(string[] args)
    {
        Hero hero=new Hero("qi da sheng");
        //此时我只想获取Hero的FullName,但是同时调用Skill的构造方法,加载了Skill的属性,
        //初始化Skill需要在内存中开辟一定的空间,造成没必要的空间浪费
        Console.WriteLine(hero.FullName);
        
        //思考:如果实现在调用Skill.Name的时候才去真正创建Skill对象呢?
    }
}
View Code

相关文章:

  • 2021-11-22
  • 2022-12-23
  • 2021-11-17
  • 2022-12-23
猜你喜欢
  • 2021-06-17
  • 2021-11-03
  • 2021-12-05
  • 2022-02-16
  • 2021-07-17
  • 2021-04-16
相关资源
相似解决方案