设计模式第一讲:策略模式

来源:互联网 发布:测显卡的软件 编辑:程序博客网 时间: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
原创粉丝点击