<h1>状态模式</h1>
<p>状态模式是一种非同寻常的模式,他也许是解决某些需求场景的最好方法。状态模式的关键是区分事物的内部状态,事物的内部状态的改变往往会带来事物的行为的改变。</p>
<p>初始状态模式——点灯程序</p>
<script>
//首先给出不同状态模式的点灯程序实现
var Light = function(){
this.state = "off";
this.button = null;
};
Light.prototype.init = function(){
var button = document.createElement( "button" ),
self = this;
button.innerHTML = "开关";
this.button = document.body.appendChild( button );
this.button.onclick = function(){
self.buttonWasPressed();
}
}
Light.prototype.buttonWasPressed = function(){
if( this.state === "on" ){
console.log( "关灯" );
this.state = "off"
}else if( this.state === "off" ){
console.log( "开灯" );
this.state = "on";
}
}
var light = new Light();
light.init()
//现在我们可以看到。我们已经编写了一个强健的状态机,这个状态机得逻辑既简单有缜密,看起来这段代码设计的无懈可击,这个程序没有任何bug。
//令人遗憾的是,这个世界上的点灯并非只有一种。
</script>
js状态模式简单认识
最新推荐文章于 2023-12-24 10:00:00 发布