策略模式的应用
策略模式的应用,我们以一个配置字典来说一下这个问题;首先这个字典用来管理若干个配置,每个配置项都有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]