您的位置:首页 > 其它

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

2017-09-03 00:00 155 查看
摘要: 每日一搏,第三周最后一篇。

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

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

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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: