当前位置:  开发笔记 > 编程语言 > 正文

你把计算放在你的集合或你的得分上吗?

如何解决《你把计算放在你的集合或你的得分上吗?》经验,为你挑选了1个好方法。



1> Charles Grah..:

有权衡.如果计算简单并且不需要很长时间,那就把它放在get中.它让您的生活更轻松,因为您不必担心在总价格依赖的每一组中进行检查,这可能会导致错误.

如果计算需要花费很多时间,那么您也可以采用混合方法.您可以在所有依赖集中设置IsDirtyTotalPrice布尔值,然后在get中进行计算并对其进行缓存,以便get只在需要时计算变量.你没有在集合中进行计算,因为它们可能有很多,你想尽可能少地进行计算.

  public class Order
  {
     private double _totalCash;
     private double _price;
     private double _quantity;
     private _IsDirtyTotalCash = true;

  private void CalcCashTotal()
  {
    _totalCash = _price * _quantity
  }

  public double Price
  {      
   set
   {
     _price = value;
     _IsDirtyTotalCash = true;
   }
  }

  public double Quantity
  {      
   set
   {
     _price = value;
     _IsDirtyTotalCash = true;
   }
  }

  public double TotalCash
  {      
   get
   {
        if(_IsDirtyTotalCash)
    {
      _totalCash = CalcTotalCost();
       _isDirtyTotalCash = false;
     }
     return _totalCash;
   }
  }

}

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有