Skip to content

Commit 8ad5830

Browse files
committed
Update README.md
1 parent ba6a577 commit 8ad5830

File tree

1 file changed

+8
-2
lines changed
  • JavaScript-Design-Patterns/State-Pattern

1 file changed

+8
-2
lines changed

JavaScript-Design-Patterns/State-Pattern/README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
隆有走动,攻击,防御,跌倒,跳跃等等多种状态,而这些状态之间既有联系又互相约束。<br />
66
比如跳跃的时候是不能攻击和防御的。跌倒的时候既不能攻击又不能防御,而走动的时候既可以攻击也可以跳跃。<br />
77
要完成这样一系列逻辑, 常理下if else是少不了的. 而且数量无法估计, 特别是增加一种新状态的时候, 可能要从代码的第10行一直改到900行. <br />
8-
'''javascript
8+
9+
10+
```javascript
911
if ( state === 'jump' ){
1012
if ( currState === 'attack' || currState === 'defense' ){
1113
return false;
@@ -15,8 +17,11 @@ if ( state === 'jump' ){
1517
return true;
1618
}
1719
}
20+
1821
```
22+
1923
为了消灭这些if else, 并且方便修改和维护, 我们引入一个状态类.
24+
2025
```javascript
2126
var StateManager = function(){
2227
var currState = 'wait';
@@ -46,4 +51,5 @@ var StateManager = function(){
4651
}
4752
var stateManager = StateManager();
4853
stateManager.changeState( 'defense' );
49-
```
54+
```
55+
Edit By [MaHua](http://mahua.jser.me)

0 commit comments

Comments
 (0)