策略模式的特色就是高内聚,低耦合。下面我也来设计一个适合策略模式的场景,有一种游戏你们应该都比较熟悉,规则是一我的根据拿到的成语比划,另外一我的来猜这个成语是什么。java
1、首先,这些词都属于一类能够比划的词吧,那咱们能够把这类词写成一个接口,如:this
public interface IIdiom { public void exute(); }
2、而后就是每一个词要执行具体的动做,如:设计
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("学鸡叫"); } }
3、咱们能够将这些词放在一个盒子里,拿到哪一个执行哪一个,如:code
class Box{ public IIdiom iidiom; public Box(IIdiom strategy){ this.iidiom = strategy; } public void exute(){ this.iidiom.exute(); } }
4、开始游戏接口
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(); } }