手机app软件制作平台,苏州推广关键词优化,做二手货车网站,做食品那些网站好什么是策略模式#xff1f;
策略模式提供生成某一种产品的不同方式
Strategy策略类定义了某个各种算法的公共方法#xff0c;不同的算法类通过继承Strategy策略类#xff0c;实现自己的算法
Context的作用是减少客户端和Strategy策略类之间的耦合#xff0c;客户端只需要…什么是策略模式
策略模式提供生成某一种产品的不同方式
Strategy策略类定义了某个各种算法的公共方法不同的算法类通过继承Strategy策略类实现自己的算法
Context的作用是减少客户端和Strategy策略类之间的耦合客户端只需要调用Context并且传递相应的算法参数来调用不同的算法Context的内部实现可以用一个Mapid, Strategy在Spring启动的时候会把Strategy类自动装配进Map Spring的策略模式
Resource getResource(String location) 根据传入的 location算法参数返回一个资源子类具体算法如 ClassPathResource 内部定义了解析 xml 的方法
else if (location.startsWith(CLASSPATH_URL_PREFIX)) {return new ClassPathResource(location.substring(CLASSPATH_URL_PREFIX.length()), getClassLoader());
}
else {try {// Try to parse the location as a URL...URL url ResourceUtils.toURL(location);return (ResourceUtils.isFileURL(url) ? new FileUrlResource(url) : new UrlResource(url));}catch (MalformedURLException ex) {// No URL - resolve as resource path.return getResourceByPath(location);}
}getInstantiationStrategy().instantiate()如果需要被反射创建的 bean 的方法没有覆写直接用无参构造器创建否则用CGLIB创建。