面向对象设计其实就是希望做到代码的责任分解,方法过程如果过长将会变得难以扩展和修改。这也是状态模式的目的。状态模式是行为设计模式的一种。当然这里还有由状态模式演变而来的有限状态机。
目录
1. 意图:
将代码中大量与对象有关的的条件语句拆分,方便扩展和修改。
2. 如何使用:
将各种具体的状态类抽象出来。
3. 定义:
当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。
4. UML模板:
5. 关键代码:
private State state;
//定义Context的初始状态
public Context(State state)
{
this.state = state;
}
//可读写的状态属性,用于读取当前状态和设置新状态
public void SetState(State s)
{
state = s;
}
public void Request()
{
//对请求做处理,并设置下一状态。
state.Handle(this);
}
6. 实例:
1.UML图
2.代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;