打字猴:1.700482129e+09
1700482129
1700482130 public String getTradeNo(){
1700482131
1700482132 return tradeNo;
1700482133
1700482134 }
1700482135
1700482136 public void setTradeNo(String postNo){
1700482137
1700482138 this.tradeNo=postNo;
1700482139
1700482140 }
1700482141
1700482142 public int getAmount(){
1700482143
1700482144 return amount;
1700482145
1700482146 }
1700482147
1700482148 public void setAmount(int amount){
1700482149
1700482150 this.amount=amount;
1700482151
1700482152 }
1700482153
1700482154 }
1700482155
1700482156 两个最简单也是在应用中最常使用的对象定义完毕,下面就需要来定义策略了,非常明显的策略模式,类图如图35-2所示。
1700482157
1700482158
1700482159
1700482160
1700482161 图35-2 扣款策略类图
1700482162
1700482163 典型的策略模式,扣款有两种策略:固定扣款和自由扣款。下面我们来看代码,先看抽象策略,也就是扣款接口,如代码清单35-3所示。
1700482164
1700482165 代码清单35-3 扣款策略接口
1700482166
1700482167 public interface IDeduction{
1700482168
1700482169 //扣款,提供交易和卡信息,进行扣款,并返回扣款是否成功
1700482170
1700482171 public boolean exec(Card card,Trade trade);
1700482172
1700482173 }
1700482174
1700482175 固定扣款的规则是固定金额和自由金额各扣除交易金额的一半,如代码清单35-4所示。
1700482176
1700482177 代码清单35-4 扣款策略一
1700482178
[ 上一页 ]  [ :1.700482129e+09 ]  [ 下一页 ]