策略模式源码
This commit is contained in:
@@ -1,10 +1,30 @@
|
||||
package top.fjy8018.designpattern.pattern.behavior.strategy;
|
||||
|
||||
import org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory;
|
||||
import org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy;
|
||||
import org.springframework.beans.factory.support.SimpleInstantiationStrategy;
|
||||
import org.springframework.core.io.FileSystemResource;
|
||||
import org.springframework.core.io.PathResource;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
/**
|
||||
* 促销策略工厂
|
||||
* <p>
|
||||
* {@link java.util.Comparator} 比较器,类似于抽象策略,有大量实现类,所有具体策略都要实现定义好的接口方法
|
||||
* 例如 {@link com.google.common.collect.ExplicitOrdering}
|
||||
* 应用层可以逐级传递比较器 {@link Arrays#sort(Object[], Comparator)}
|
||||
* {@link java.util.TreeMap#compare(Object, Object)} 利用内部的比较器处理
|
||||
* <p>
|
||||
* Spring资源策略抽象 {@link org.springframework.core.io.Resource}
|
||||
* 提供大量策略实现 {@link PathResource} {@link FileSystemResource}
|
||||
* <p>
|
||||
* {@link org.springframework.beans.factory.support.InstantiationStrategy} 初始化策略接口
|
||||
* 初始化具体策略实现 {@link SimpleInstantiationStrategy} {@link CglibSubclassingInstantiationStrategy}
|
||||
* 初始化策略在 {@link AbstractAutowireCapableBeanFactory} 中被使用
|
||||
*
|
||||
* @author F嘉阳
|
||||
* @date 2020/3/4 16:09
|
||||
|
||||
Reference in New Issue
Block a user