DeductionFacade.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:1k
源码类别:

软件工程

开发平台:

Java

  1. package com.company;
  2. /**
  3.  * @author cbf4Life cbf4life@126.com
  4.  * I'm glad to share my knowledge with you all.
  5.  */
  6. public class DeductionFacade {
  7. //对外公布的扣款信息
  8. public static Card deduct(Card card,Trade trade){
  9. //获得消费策略
  10. StrategyMan reg = getDeductionType(trade);
  11. //初始化一个消费策略对象
  12. IDeduction deduction = StrategyFactory.getDeduction(reg);
  13. //产生一个策略上下问
  14. DeductionContext context = new DeductionContext(deduction);
  15. //进行扣款处理
  16. context.exec(card, trade);
  17. //返回扣款处理完毕后的数据
  18. return card;
  19. }
  20. //获得对应的商户消费策略
  21. private static StrategyMan getDeductionType(Trade trade){
  22. //模拟操作
  23. if(trade.getTradeNo().contains("abc")){
  24. return StrategyMan.FreeDeduction;
  25. }else{
  26. return StrategyMan.SteadyDeduction;
  27. }
  28. }
  29. }