美文网首页
设计模式学习之策略模式

设计模式学习之策略模式

作者: 那时青菜 | 来源:发表于2018-03-28 13:57 被阅读0次

    Strategy Pattern

    策略模式指的是完成某些相同动作或相同模块的不同方式。比如我想玩游戏,可以有手柄操作,可以有键盘操作,甚至是语音操作等。不管你用什么方式,对游戏来说,只是一种操作方式,只要我接受到你的输入要求就好。这就是策略模式。

    /**

    * @description: 公有的接口 代表具有某种能力(比如game的操作方式)

    * @author: dai

    * @create date: 2018/3/28

    */

    public interface IStrategy {

        void operate();

    }

    public class rein implements IStrategy {

        @Override

        public void operate() {

            System.out.println("我玩游戏喜欢用手柄操作.");

    }

    }

    public class Keybord implements IStrategy {

    @Override public void operate() {

    // System.out.println("我玩游戏喜欢用键盘");

    }

    }

    public class Speech implements IStrategy {

    @Override public void operate() {

    System.out.println("我就比较牛逼了,我喜欢用语音操作。");

    }

    }

    /**

    * @description: 承载这种能力的载体。(这里键盘的插口,语音入口等设为同一入口) 

    */

    public class GameOperate {

    private IStrategy mIStrategy;

    public GameOperate(IStrategy IStrategy) {

    mIStrategy = IStrategy;

    }

    /** * 通过接口调用具体实现的方式 */

    public void operate(){

    mIStrategy.operate();

    }

    }

    相关文章

      网友评论

          本文标题:设计模式学习之策略模式

          本文链接:https://www.haomeiwen.com/subject/dlbycftx.html