1、typescript
其实对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。
只要将State类抽象化处理就可以实现。
class State {name: string;constructor(name: string) {this.name = name}doAction(context: Context) {context.setState(this)}}class Context {state: any;constructor() {this.state = null;}setState(state: any) {this.state = state;}getState() {return this.state}}const context = new Context();const pedding = new State("pedding");pedding.doAction(context)console.log(context.getState())const resolve = new State("resolve");resolve.doAction(context)console.log(context.getState())const reject = new State("reject");reject.doAction(context)console.log(context.getState())
