public interface CompanyService {
public String company();
}
定义具体策略角色
具体策略角色1
@Service
public class AlibabaCompanyService implements CompanyService {
@Override
public String company() {
System.out.println("alibaba");
return "alibaba";
}
}
具体策略角色2
@Service
public class BaiduCompanyService implements CompanyService {
@Override
public String company() {
System.out.println("baidu");
return "baidu";
}
}
定义环境角色
@Component
public class CompanyStrategy {
@Autowired
private Map<String, CompanyService> companyStrategy = new ConcurrentHashMap<>();
public CompanyService getStrategy(String type) {
return this.company