【发布时间】:2021-04-25 05:22:25
【问题描述】:
我有以下业务逻辑:
public decimal Price
{
get {
if (OrderSize == Size.Small)
{
_price = decimal.Multiply(_price, (decimal)0.8);
}
else if (OrderSize == Size.Large)
{
_price = decimal.Multiply(_price, (decimal)1.2);
}
return _price;
}
set {
_price = value;
}
}
价格只能根据所选的 OrderSize 更改一次。当检索到这个订单时,它会再次计算价格,这显然不是我想要的。让它只执行一次的最佳方法是什么?
【问题讨论】:
-
除此之外的一切,看起来你在这里有一个命名问题。如果 price 字段表示与 price 属性不同的内容,则它们的名称应反映这一点。可能是字段的“basePrice”或其他一些调整,表明它没有考虑属性考虑的因素。
标签: c# model-view-controller model business-logic