根据不同的参数类型调用不同的实现是什么设计模式?

比如:

  1. 某系统对接了3个配送的平台,分别是平台A、平台B、平台C

  2. 对于上层业务来说,只要把自己的订单(这部分属性固定)对象作为参数,以及要配送的平台,比如平台A拿过来调用接口就行了

  3. 以后可能会增加平台D,在不修改接口的情况下,哪个设计模式可以做到灵活扩展的?

  4. 现在能想到的是,根据这个类型,调用不同的平台,接口内写了很多
    if(type==A_CODE){
    //调用平台A的下单接口} 
    else if(type==B_CODE){
    // 调用平台B的下单接口
    }else if(type==C_CODE){
    //调用平台C的下单接口
    }

这样,想重构,有没有适合的设计模式?


千巷猫影
浏览 1165回答 1
1回答

千万里不及你

策略模式是最适合的。策略模式定义策略模式(Strategy Pattern),将各种算法封装到具体的类中,作为一个抽象策略类的子类,使得它们可以互换。客户端可以自行决定使用哪种算法。策略模式简单点说就是根据不同参数选择同一个接口的不同实现。可以参考这篇文章 Java设计模式(十二) 策略模式
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5