策略模式
2022-08-01 15:53:46 12 举报
AI智能生成
策略模式
作者其他创作
大纲/内容
定义
定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端(这里的客户端代指使用算法的代码)。
参考文献
60 | 策略模式(上):如何避免冗长的if-else/switch分支判断代码?
实现
策略的创建
策略类的定义比较简单,包含一个策略接口和一组实现这个接口的策略类。因为所有的策略类都实现相同的接口,所以,客户端代码基于接口而非实现编程,可以灵活地替换不同的策略
策略的创建
因为策略模式会包含一组策略,在使用它们的时候,一般会通过类型(type)来判断创建哪个策略来使用
策略的使用
策略模式包含一组策略可选,客户端代码如何选择使用哪个策略,有两种确定方法:编译时静态确定和运行时动态确定。其中,“运行时动态确定”才是策略模式最典型的应用场景。
策略的作用
功能扩展
避免if/else if这样的结构
主要是在策略的创建时,采用map缓存策略对象(查表法)
0 条评论
下一页