策略模式
定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
我自己的理解就是通过接口实现不同的方法,同时又可以根据自己的选择自动选择使用哪个接口的实现。
情境:
某客户需要订购多个资源,每一个资源在不同的资源池下面,不同的资源池下面的资源又是不同的。由于不想使用多个if else来判断用户选择的资源池来进行资源的选择,所以使用了策略模式来实现结构上的优化。
环境:
基于SpringBoot实现的策略模式
DEMO:
用户在application中自由的选择任何资源池进行订购时,由context上下文进行判断选择资源去资源池调用,从而实现结构上的优化。
Strategy接口:
public interface Strategy {
String getVpcList(String id);
}
ResourceA实现:
@Component("A")
public class ResourceA implements Strate