书城计算机大话设计模式
11030400000162

第162章 3 状态模式的角色

小A:“状态模式由哪些角色组成呐?”

大B:“状态模式可以有效的替换充满在程序中的if else语句:将不同条件下的行为封装在一个类里面,再给这些类一个统一的父类来约束他们。状态模式是由下面几种角色组成:1、使用环境(Context)角色:客户程序是通过它来满足自己的需求。它定义了客户程序需要的接口;并且维护一个具体状态角色的实例,这个实例来决定当前的状态。2、状态(State)角色:定义一个接口以封装与使用环境角色的一个特定状态相关的行为。3、具体状态(Concrete State)角色:实现状态角色定义的接口。结构非常简单也与策略模式非常相似。”