策略模式
1、什么是策略模式?
第一点:定义一系列算法
第二点:每一个算法单独封装
第三点:每一个算法都是可以相互替换
第四点:客户端调用变化算法(独立变化)
2、应用场景?(抽象概念)
第一个方面:针对同一类型问题多种处理方式,仅仅只是具体的行为有差别
第二个方面:需要安全的封装同一类型的操作
第三个方面:处于同一个抽象类有多个子类,而有需要使用if-else或者switch进行选择具体的子类
3、策略模式角色?
角色一:策略接口
角色二:策略实现类
角色三:策略上下文(可以忽略)