设计模式之策略模式,结合单例模式和工厂模式

学习目的

  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,活动测试类
  
 
 
posted @ 2021-08-10 17:40  历史不是僵尸  阅读(265)  评论(0)    收藏  举报