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

发布了42 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_37828719/article/details/103799872