学习笔记:设计模式之策略模式

2020-10-23  本文已影响0人  大力papa

本文仅供学习交流使用,侵权必删。
不作商业用途,转载请注明出处

WHAT 什么是策略模式

策略模式(Strategy Design Pattern),定义一族算法,每种算法独自封装起来,让每个算法可以相互替代。策略模式就是让算法间的变化可以独立于客户端

WHY 为什么使用策略模式

优点

缺点

HOW 策略模式的实现(JAVA)

场景:用户在平台上查询可用额度,平台能查询接口能查询多个资方的可用额度。将不同资方的查询接口封装到一个算法类,不同资方的可用额度查询我们调用不同的算法类。

/**
 * 授信接口
 */
public interface ICreditService {

    String availableCredit();
}

/**
 * 自营的可用额度
 */
public class BdcrCreditImpl implements ICreditService {
    @Override
    public String availableCredit() {

        System.out.println("bdcr available credit");
        return "10000.00";
    }
}
public class YourbankCreditImpl implements ICreditService {
    @Override
    public String availableCredit() {
        System.out.println("yourbank available credit");
        return "20000.00";
    }
}

public class CreditController {

    private Map<String, ICreditService> map = new HashMap<>();

    public CreditController() {
        map.put("yourbank", new YourbankCreditImpl());
        map.put("bdcr", new BdcrCreditImpl());
    }

    public String availableCredit(String type) {
        ICreditService service = map.get(type);
        if (service == null) {
            return null;
        }
        return service.availableCredit();
    }

持续更新...

上一篇 下一篇

猜你喜欢

热点阅读