Просто быстрый вопрос, чтобы узнать, есть ли лучшая практика между обновлением значения свойства методом, который вызывается каждый раз, когда необходимо изменить значение, или просто сделать это в получателе.
Например, между этим:
public double Balance { get; private set; }
private void UpdateBalance()
{
if (Payments.IsNullOrEmpty())
{
Balance = 0;
}
else
{
double amountSum = 0;
foreach (Payment payment in Payments)
{
amountSum += payment.Amount;
}
Balance = amountSum;
}
}
И этим:
public double OtherBalance
{
get
{
if (Payments.IsNullOrEmpty())
return 0;
double amountSum = 0;
foreach (Payment payment in Payments)
{
amountSum += payment.Amount;
}
return amountSum;
}
}
Единственное различие, о котором я могу подумать, заключается в производительности, поскольку в первом случае геттер проходит черезВесь список каждый раз, когда мы пытаемся получить значение свойства.Однако вам не нужно беспокоиться о вызове метода Update
каждый раз, когда вы вносите изменение, которое может повлиять на значение свойства, как во втором варианте.Это разница действительно значительная?Кроме того, есть ли причина выбирать один вариант из другого?
Заранее спасибо