diff --git a/src/main/java/top/fjy8018/designpattern/pattern/behavior/strategy/PromotionStrategyFactory.java b/src/main/java/top/fjy8018/designpattern/pattern/behavior/strategy/PromotionStrategyFactory.java index 964ea08..7e94b9e 100644 --- a/src/main/java/top/fjy8018/designpattern/pattern/behavior/strategy/PromotionStrategyFactory.java +++ b/src/main/java/top/fjy8018/designpattern/pattern/behavior/strategy/PromotionStrategyFactory.java @@ -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; /** * 促销策略工厂 + *
+ * {@link java.util.Comparator} 比较器,类似于抽象策略,有大量实现类,所有具体策略都要实现定义好的接口方法 + * 例如 {@link com.google.common.collect.ExplicitOrdering} + * 应用层可以逐级传递比较器 {@link Arrays#sort(Object[], Comparator)} + * {@link java.util.TreeMap#compare(Object, Object)} 利用内部的比较器处理 + *
+ * Spring资源策略抽象 {@link org.springframework.core.io.Resource} + * 提供大量策略实现 {@link PathResource} {@link FileSystemResource} + *
+ * {@link org.springframework.beans.factory.support.InstantiationStrategy} 初始化策略接口 + * 初始化具体策略实现 {@link SimpleInstantiationStrategy} {@link CglibSubclassingInstantiationStrategy} + * 初始化策略在 {@link AbstractAutowireCapableBeanFactory} 中被使用 * * @author F嘉阳 * @date 2020/3/4 16:09