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

策略模式

一:特点

高内聚,低耦合,扩展性强

二:适用场景

比如 商场打折的商品价格计算,就可以使用策略模式,不同的折扣设计成不同的策略,
外部只需要调用不同的策略,而不用关心策略的具体实现,而且给策略留下了足够的
拓展空间

三:具体实现

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{

	@Override
	public void operate() {

		System.out.println("第一种策略调用");
	}
}

//第二种策略实现
public class SecondStrategy implements IStrategy{

	@Override
	public void operate() {

		System.out.println("第二种策略调用");
	}
}
//第三种策略实现
public class ThirdStrategy implements IStrategy{

	@Override
	public 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值