状态模式(State)-设计模式
Posted lijianming180
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了状态模式(State)-设计模式相关的知识,希望对你有一定的参考价值。
软件模式是将模式的一般概念应用于软件开发领域,即软件开发的 总体指导思路或参照样板。
软件模式并非仅限于设计模式,还包括 架构模式、分析模式和过程模式等,
实际上,在软件生存期的每一个阶段都存在着一些被认同的模式。
状态模式的定义
- 状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。
- 其别名为状态对象,状态模式是一种对象行为型模式。
状态模式包含二个角色:
- Context-环境类又称为上下文类,它是拥有状态的对象,在环境类中维护一个抽象状态类State的实例,这个实例定义当前状态,在具体实现时,它是一个State子类的对象,可以定义初始状态;
- State-抽象状态类用于定义一个接口以封装与环境类的一个特定状态相关的行为;
- ConcreteState-具体状态类是抽象状态类的子类,每一个子类实现一个与环境类的一个状态相关的行为,每一个具体状态类对应环境的一个具体状态,不同的具体状态类其行为有所不同。
ES6实现
|
|
Typescript实现
|
|
参考以下内容:
以上是关于状态模式(State)-设计模式的主要内容,如果未能解决你的问题,请参考以下文章