From baa04be0967e13fb3372993d52c482df1f0f1744 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Thu, 5 Mar 2020 10:41:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=96=E7=95=A5=E6=A8=A1=E5=BC=8F=E6=BA=90?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../strategy/PromotionStrategyFactory.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) 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