您现在的位置是:首页 >技术交流 >设计模式实现之state模式网站首页技术交流
设计模式实现之state模式
简介设计模式实现之state模式
状态模式的定义:Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.(当一个对象在状态改变时允许其改变行为,这个对象看起来像其改变了其类)。
一个对象可以在声明周期内修改自己的状态,但是却不能在生命周期内修改自己所属的类。运用状态模式,可以得到一个优雅的折衷。
状态模式的核心是封装,状态的变化引起了行为俄变更,从外部看起来就像是这个对象对应的类发生了改变一样,状态模式的通用类图如下图所示:
state:抽象状态角色,为接口或者抽象类,负责对象操作接口的定义,并且封装环境角色以实现状态切换。
concretestate:具体状态角色,每一个具体状态必须完成两个职责,本状态的行为管理以及趋向状态管理,通俗的讲,就是本状态下要做的事情,以及本状态如何过渡到其它状态。
context:定义客户端需要的接口,并且负责具体状态的切换,是使用状态的一方。
Client:用户程序,main函数等等,可以看作是舞台,场景类。
本用例状态模式UML类图:
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。