java设计模式----策略(1)

谁说我不能喝 提交于 2020-01-02 14:36:28

前景提要; 不多逼逼

项目演示地址

需求 如下图

在这里插入图片描述

  • 已普通策略方式的实现

定义一个接口 多种实现

public interface Pay {

    String call();
}

@Component
public class AliPay implements Pay {


    @Override
    public String call() {
        System.out.println("调用支付宝");
        return "ali";
    }
}
@Component
public class UnionPay implements Pay {

    @Override
    public String call() {
        System.out.println("调用银联");
        return "union";
    }
}
@Component
public class WxPay implements Pay {

    @Override
    public String call() {
        System.out.println("调用微信");
        return "wx";
    }
}

写个demo测试

@RestController
public class DemoController {

    @PostMapping(value = "/strategy/normal/pay")
    public String pay(@RequestParam String beanId) {
    
         Pay pay = SpringUtils.getBean(beanId, Pay.class);
         String call = pay.call();
         return call;
    }
}

项目演示地址

下一篇采用静态工厂+策略实现无缝对接 无需if else

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!