策略模式
定义一系列的算法,将其一一封装,并且使他们可以相互替换。策略模式的核心思想是将算法的实现与使用算法的代码分离,从而使得算法的变化独立于使用算法的客户端
- 算法:任何功能函数的逻辑
- 封装:把某一功能点对应的逻辑提取出来
- 替换:把某一功能点对应的逻辑提出来;可替换建立在封装的基础上,只能说这个替换的判断过程,不能 if-else,而需要考虑更有的映射方案
策略模式的组成部分
- 策略接口(Strategy Interface): 定义一个公共接口,所有具体策略都要实现这个接口
- 具体策略(Concrete Strategies):实现策略接口的具体算法或行为
- 上下文(Context):持有一个策略对象的引用,并可以在运行时选择和切换不同的策略