zoukankan      html  css  js  c++  java
  • 8.js模式-状态模式

    1. 状态模式

    var offLightState = function(light){

          this.light = light;

    }

    • offLightState.prototype.buttonWasPressed = function(){

          console.log('弱光');

          this.light.setState(this.weakLightState);

    }

    var weakLightState = function(light){

          this.light = light;

    }

    weakLightState.prototype.buttonWasPressed = function(){

          console.log('弱光');

          this.light.setState(this.strongLightState);

    }

    var strongLightState = function(light){

          this.light = light;

    }

    strongLightState.prototype.buttonWasPressed = function(){

          console.log('弱光');

          this.light.setState(this.offLightState);

    }

    var light = function(){

          this.offLightState = new offLightState(this);

          this.weakLightState = new weakLightState(this);

          this.strongLightState = new strongLightState(this);

          this.button = null;

    }

    light.prototype.init = function(){

          this.currentState = this.offLightState;

         

          this.button.onclick = function(){

                 this.currentState.buttonWasPressed();

          }

    }

    light.prototype.setState = function(state){

          this.currentState = state;

    }

    var light = new light();

    light.init();

  • 相关阅读:
    axis
    LRU
    apk 反编译
    android 设置 button 不同状态的图片
    resin
    scrum 项目管理
    android 国外广告平台
    JNI
    java 通信
    google网站分析
  • 原文地址:https://www.cnblogs.com/SLchuck/p/4869722.html
Copyright © 2011-2022 走看看