设计模式第一讲:策略模式
来源:互联网 发布:测显卡的软件 编辑:程序博客网 时间:2024/04/29 16:36
策略模式
一:特点
高内聚,低耦合,扩展性强
二:适用场景
比如 商场打折的商品价格计算,就可以使用策略模式,不同的折扣设计成不同的策略,
外部只需要调用不同的策略,而不用关心策略的具体实现,而且给策略留下了足够的
拓展空间。
三:具体实现
1.定义策略接口:
public interface IStrategy {public void operate();}
2.定义策略的容器:
public class StrategyContainer {private IStrategy mStrategy;public StrategyContainer(IStrategy strategy) {this.mStrategy = strategy;}public void operate(){this.mStrategy.operate();}}
3.实现具体的策略:
//第一种策略实现public class FirstStrategy implements IStrategy{@Overridepublic void operate() {System.out.println("第一种策略调用");}}
//第二种策略实现public class SecondStrategy implements IStrategy{@Overridepublic void operate() {System.out.println("第二种策略调用");}}
//第三种策略实现public class ThirdStrategy implements IStrategy{@Overridepublic void operate() {System.out.println("第三种策略调用");}}
4.策略的使用:
public class Main {public static void main(String[] args){//使用第一种策略StrategyContainer mFirstContainer = new StrategyContainer(new FirstStrategy());mFirstContainer.operate();//使用第二种策略StrategyContainer mSecondContainer = new StrategyContainer(new SecondStrategy());mSecondContainer.operate();//使用第三种策略StrategyContainer mThirdContainer = new StrategyContainer(new ThirdStrategy());mThirdContainer.operate();}}
0 0
- 设计模式第一讲:策略模式
- 设计模式第一讲
- 设计模式第一课:策略模式Strategy
- 大话设计模式第一讲(简单工厂模式)
- 设计模式之三——策略模式(泡妞讲策略模式)
- 文章标题设计模式第一个:“策略模式(Strategy Pattern)
- 设计模式-策略模式
- 设计模式:策略模式
- 设计模式-策略模式
- 设计模式 - 策略模式
- 设计模式-策略模式
- 设计模式-----策略模式
- 设计模式 策略模式
- 设计模式-策略模式
- 设计模式-【策略模式】
- 设计模式-----策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- [Practical Cassandra]CH2-数据模型
- MySQL安装以及中文乱码问题
- 【LeetCode】Maximal Rectangle
- 网页自适应不同浏览设备的方法
- Qt5官方demo解析集24——Extending QML - Default Property Example
- 设计模式第一讲:策略模式
- 有关servlet
- 配置Listener
- bootstrap之初
- vim操作技巧(一)打开多个文件
- poj 1505 Copying Books
- 加载XML出错总结
- 游戏与引擎
- poj-1001