package com.crcbank.zfbs.share.modules;

import java.util.Map;

/**
 * 策略模式
 *
 * @author Administrator
 */
public interface IStrategyDesign<E> {

    @PostConstruct
    default void init() {
        ApplicationContext applicationContext = SpringContextUtils.getApplicationContext();
        Map<String, StrategyContext> beans = applicationContext.getBeansOfType(StrategyContext.class);

        for (StrategyContext context : beans.values()) {
            if (context.getStrategyType().equals(getStrategyType())) {
                context.register(this);
            }
        }
    }

    String getStrategyType();

    E getType();
}

更多推荐