设计模式之策略模式,结合单例模式和工厂模式
学习目的
1、掌握委派模式,精简程序逻辑,提升代码的可读性。
2、通过学习策略模式来消除程序中大量的if...else...和switch语句。
3、深刻理解策略模式的应用场景,提高算法的保密性和安全性。
策略模式定义
策略模式(Strategy Pattern)是指定义了算法家族、分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户。
可以避免多重分支的if...else...和switch语句
策略模式的优点
1、策略模式符合开闭原则。
2、避免使用多重条件转移语句,如if...else...语句、switch语句
3、使用策略模式可以提高算法的保密性和安全性。
策略模式的缺点
1、客户端必须知道所有的策略,并且自行决定使用哪一个策略类。
2、代码中会产生非常多策略类,增加维护难度。
类图如下:

代码实现
1,抽象活动接口

2,抽象活动执行

3,具体活动实现A

4,具体活动实现B

5,具体活动实现C

6,具体活动实现D

7,具体活动工产类(注册式单例)

8,活动测试类


浙公网安备 33010602011771号