这是我在一次面试中被问到的,我得到的反馈是我缺乏OOD技能。所以我想知道我建议的设计有什么问题。
问题陈述:设计一个帮助计算购物车中项目的TotalCost的系统。您将得到购物车中的商品列表和折扣,如下例所示。清单将包括物品或折扣,顺序重要:
样品车:10美元书籍xyz,10%折扣所有项目,20美元固定,20%折扣下一项,100美元衬衫,15美元在第5种类型的书。
类型折扣:对所有项目的折扣为10%,下一项的折扣为20%,下一项的折扣为15美元,第5种类型的折扣可在系统中稍后添加更多类型的折扣。
我给出的解决方案:
这是我制作的类图:
这里是TotalCost()算法:
public d
我正在实施折扣计算模型。我确实有一个 <#>One 类:
public class Product
{
public string Name { get; set; }
public Size Size { get; set; }
public decimal Price { get; set; }
}
我也有一个订单类:
public class Order
{
public DateTime Date { get; set; }
public string ProductName { get; set; }
public Size
我正在与SAP和自定义应用程序进行一些集成。“总计”和“折扣后的价格”的计算值减少了一半时间。
考虑到“数量”、“单价”和“折扣%”,它们是如何计算的?
到目前为止,我一直在使用这个公式来获得“总计”,但它并不总是匹配的:
Let R = Round to two decimal places away from zero
Total = R(Quantity * Unit Price) - R(R(Quantity* Unit Price) * R(Discount/100))
但是正如你所看到的,如果我插入第一行数量: 11217,单价0.3,折扣: 65,我得到了1177.78的不同结