按人/流程/状态切分 详见 人人都是流程专家
水平切分后.
支付分成两大块: 支付记录和回调, 折扣计算和维护.
支付记录这块不依赖订单信息. 折扣计算折扣和具体的折扣业务相关. 券计算和券维护.
需要泛化. 将之前的voucherAmount 泛化成 disacountAmount .
这个在写分层代码时也是如此, 抽象一个方法,将order.getTotalMoney()作为参数传入,和将order传入,getTotalMoney
本来一坨代码,都用了 ;
set(order.getxx);
set(order.getxx2);
后来重构,把所有的order.getxx,order.getxx2先放在方法的最前面
xx=order.getxx;
xx2=order.getxx2;
后面就可以重构了.