patrones de diseño Java ---- Estrategia (1)

perspectivas abstractas; mucha fuerza a la fuerza

proyecto de demostración

La demanda en la siguiente figura

Aquí Insertar imagen Descripción

  • Estrategia ha sido lograr manera común de

Definir una variedad de interfaces para lograr

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";
    }
}

Escribir una prueba de demostración

@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;
    }
}

proyecto de demostración

Bajo una fábrica estática + estrategia para lograr acoplamiento sin fisuras si otra cosa

Publicado 42 artículos originales · ganado elogios 19 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_37828719/article/details/103799872
Recomendado
Clasificación