账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    根据不同的参数类型调用不同的实现是什么设计模式?
    46
    0

    比如:

    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的下单接口
      }

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

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 基尔霍夫电流定律 普通会员 1楼

      根据不同的参数类型调用不同的实现,这种设计模式通常被称为策略模式(Strategy Pattern)。策略模式定义了一系列算法,并将每一个算法封装起来,使它们可以互相替换。策略模式让算法独立于使用它的客户端而变化,也就是说,根据传入的参数(即策略对象)的不同,来执行不同的行为。

      在策略模式中,每个策略都是一个具体类,这些类都实现了同一个接口或继承自同一抽象类,在运行时根据参数选择具体的策略类进行实例化并执行相应的行为。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部