窟聿湎 发表于 2025-6-6 14:15:19

策略模式的应用

策略模式的应用,我们以一个配置字典来说一下这个问题;首先这个字典用来管理若干个配置,每个配置项都有key和value,key是字符串,value是某种类型;我们通过一个ConfigServiceStrategy接口来规定配置的操作行为,通过ConfigServiceContext来表示一个配置上下文,通过这个对象可以写配置,读配置等;通过接口隔离原则,像上下文里传递的参数是一个抽象的接口ConfigServiceStrategy,而具体的实现就是配置持久化的方式,如内存hash表,redis的hash存储等。
配置文件的策略接口

/**
* 配置服务策略.
*
* @author lind
* @date 2024/12/23 22:00
* @since 1.0.0
*/
public interface ConfigServiceStrategy {

        /**
       * 存储配置.
       */
        <T> void put(Class<T> type, String key, T value);

        /**
       * 获取配置.
       * @param type
       * @param key
       * @return
       * @param <T>
       */
        <T> T get(Class<T> type, String key);

}内存hash表实现策略

/** * 基于类型和key的字典存储. * * @author lind * @date 2024/12/23 14:22 * @since 1.0.0 */public class DictionaryConfigService implements ConfigServiceStrategy {        private Map
页: [1]
查看完整版本: 策略模式的应用