设计模式:策略模式
2023-09-14 09:11:44 时间
一、定义
策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。
策略模式使得算法可以在不影响到客户端的情况下发生变化。
策略模式 ,可以理解为 针对实现同一接口的不同的类,采用不同的算法。比如,面对高级会员、初级会员会采用不同的折扣。
策略模式,可以避免大量的if和else.
二、角色
策略模式涉及到三个角色:
● 环境(Context)角色:调用策略
● 抽象策略(Strategy)角色:抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。
● 具体策略(ConcreteStrategy)角色:实现抽象策略接口,包装了相关的算法或行为。
参考博客:http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html
相关文章
- PHP设计模式:观察者模式
- 设计模式(一):“穿越火线”中的“策略模式”(Strategy Pattern)
- 设计模式(一):“穿越火线”中的“策略模式”(Strategy Pattern)
- 炒冷饭系列:设计模式 工厂模式
- 设计模式 -- 策略模式
- 不一样的策略模式(设计模式五)
- 不一样的享元模式(设计模式四)
- 设计模式 -- 策略模式
- 不一样的策略模式(设计模式五)
- 不一样的享元模式(设计模式四)
- Java设计模式之工厂模式
- Angular页面在开发模式(DevMode)下的ng-reflect-属性是如何生成的
- sqoop如何指定pg库的模式
- 设计模式的C语言应用-命令模式-第五章
- HeadFirst设计模式 之 C++实现(二):Observer(观察者模式)
- JAVA设计模式之单例模式
- PHP设计模式-策略模式 转
- 设计模式(Python)-策略模式
- 设计模式---策略模式
- 设计模式----代理模式
- 【阅读笔记】JavaScript设计模式与开发实践2--闭包与单例、策略模式