策略

  • 封装算法
    /**
     * 环境类
     */
    function Strategy()
    {
        var object;
        
        /**
         * 设置策略
         */
        this.setType = function(_object)
        {
            object = _object;
        }
        
        
        /**
         * 行动
         */
        this.action = function()
        {
            object.action()
        }
    }
    
    
    
    /**
     * 步行
     */
    function Walk()
    {
        this.action = function()
        {
            console.log('步行');
        }
    }
    
    
    /**
     * 开汽车
     */
    function Car()
    {
        this.action = function()
        {
            console.log('开汽车');
        }
    }
    
    
    /**
     * 做火车
     */
    function Train()
    {
        this.action = function()
        {
            console.log('做火车');
        }
    }
    
    
    /**
     * 测试
     */
    var strategy = new Strategy();
    
    
    //路太远,应该做火车
    strategy.setType(new Train());
    strategy.action()
    
    //路太近,应该步行
    strategy.setType(new Walk());
    strategy.action()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容