第13天-提取方法对象
这个重构建议是对第10天:提取方法的继续
我们在一个类中提取出来了大量的私有方法和变量,会造成这个类臃肿不堪,难以阅读
因此最好提取出来方法对象,用以将功能的一个个逻辑分离开
旧的代码:
Codepublic class OrderInfo{public decimal Price { get; private set; }}public class Order{private IList<OrderInfo> OrderLineItems { get; set; }private IList<decimal> Discounts { get; set; }private decimal Tax { get; set; }public decimal Calculate(){decimal subTotal = 0m;// Total up line itemsforeach (OrderInfo lineItem in OrderLineItems){subTotal += lineItem.Price;}// Subtract Discountsforeach (decimal discount in Discounts)subTotal -= discount;// Calculate Taxdecimal tax = subTotal * Tax;// Calculate GrandTotaldecimal grandTotal = subTotal + tax;return grandTotal;}}