九、Java设计模式之策略模式

岁酱吖の 提交于 2019-11-30 08:37:10

定义:

  • 定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户
  • if ..... else替换
  • 系统有很多类,而他们的区别仅仅在于他们的行为
  • 一个系统需要动态地在几种算法中选择一种

优点:

  • 开闭原则
  • 避免使用多重条件转移语句
  • 提高算法的保密性和安全性

缺点:

  • 客户端必须知道所有策略类,并自行决定使用哪一个策略类
  • 产生很多策略类

 

 策略模式-相关设计模式

  • 策略模式和工厂模式
  • 策略模式和状态模式

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!