欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-13 13:51:14
...

前景提要; 不多逼逼

项目演示地址

需求 如下图

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

  • 已普通策略方式的实现

定义一个接口 多种实现

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