策略模式的特色就是高內聚,低耦合。下面我也來設計一個適合策略模式的場景,有一種遊戲你們應該都比較熟悉,規則是一我的根據拿到的成語比劃,另外一我的來猜這個成語是什麼。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(); } }