zoukankan      html  css  js  c++  java
  • 延迟加载

    延迟加载:数据赋予一个对象时不加载数据,当 .tolist 时进行加载数据,节省性能

    实例

      public class Hero
        {
            public string FullName { get; set; }
            public string Name { get; set; }
    
            private readonly Lazy<SpecialSkill> skill;
            public SpecialSkill Skill
            {
                get { return skill.Value; }
            }
    
            public Hero(string name)
            {
                Name = name;
                FullName = "Super " + name;
    
                skill = new Lazy<SpecialSkill>(() => new SpecialSkill(name));
            }
        }
    
        public class SpecialSkill
        {
            public int Power { get; set; }
            public string SkillName { get; set; }
            public int StrengthSpent { get; set; }
            public SpecialSkill(string name)
            {
                Console.WriteLine("loading special skill .....");
                Power = name.Length;
                StrengthSpent = name.Length * 3;
                SkillName = name + " Blazing";
                Console.WriteLine(SkillName + ",... this's what makes a legend!");
            }
        }

    当不需要加载  specialskill时,就不加载

  • 相关阅读:
    ~随笔A016~分布式技术发展
    BoF图像检索
    立体匹配-----NCC视差匹配
    对极几何与基础矩阵
    相机标定
    图像的拼接----RANSAC算法
    SIFT特征提取与检索
    Harris角点检测
    Python---图像基础处理
    PSO算法
  • 原文地址:https://www.cnblogs.com/dh2014/p/5389965.html
Copyright © 2011-2022 走看看