《设计模式之禅》观后感—策略模式

本文通过成语比划游戏实例介绍了策略模式的设计思想。首先定义了一个成语接口,接着实现了多个具体成语类,最后通过盒子类来选择并执行不同的成语比划动作,展示了策略模式的灵活性。

策略模式的特点就是高内聚,低耦合。下面我也来设计一个适合策略模式的场景,有一种游戏大家应该都比较熟悉,规则是一个人根据拿到的成语比划,另一个人来猜这个成语是什么。

一、首先,这些词都属于一类可以比划的词吧,那我们可以把这类词写成一个接口,如:

public interface IIdiom {
   public void exute();
}

二、然后就是每个词要执行具体的动作,如:

public  class First implements IIdiom{
	
	public void exute(){
		System.out.print("学狗叫");
	}
}

public  class Second implements IIdiom{
	
	public void exute(){
		System.out.print("学猫叫");
	}
}

public  class Third implements IIdiom{
	
	public void exute(){
		System.out.print("学鸡叫");
	}
}

三、我们可以将这些词放在一个盒子里,拿到哪个执行哪个,如:

class Box{
	public IIdiom iidiom;
	public Box(IIdiom strategy){
		this.iidiom = strategy;
	}
	public void exute(){
		this.iidiom.exute();
	}
}

四、开始游戏

class exuteActivity{
	public static void main(String [] args){
		Box box;
		box = new Box(new First());//比划第一个词
		box = new Box(new Second());//比划第二个词
		box = new Box(new Third());//比划第三个词
		box.exute();
	}
}

转载于:https://my.oschina.net/u/2427561/blog/1528337

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值