我怎样才能让我的业务逻辑只执行一次,所以它只改变对象一次
How can i make my business logic only execute once, so it alters the object only once
我有以下业务逻辑:
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 变量,只是 return 计算。
public decimal Price
{
get
{
if (OrderSize == Size.Small)
{
return decimal.Multiply(_price, (decimal)0.8);
}
else if (OrderSize == Size.Large)
{
return decimal.Multiply(_price, (decimal)1.2);
}
else
{
return _price;
}
}
set
{
_price = value;
}
}
我有以下业务逻辑:
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 变量,只是 return 计算。
public decimal Price
{
get
{
if (OrderSize == Size.Small)
{
return decimal.Multiply(_price, (decimal)0.8);
}
else if (OrderSize == Size.Large)
{
return decimal.Multiply(_price, (decimal)1.2);
}
else
{
return _price;
}
}
set
{
_price = value;
}
}