状态模式类图
2016-06-18 18:25:50 0 举报
状态模式类图展示了一个对象在其生命周期中可能经历的不同状态以及这些状态之间的转换。在类图中,通常有一个上下文类(Context)负责管理与特定状态相关的对象的行为。上下文类与具体状态类(ConcreteState)之间存在关联关系,而具体状态类之间则可能存在聚合关系,表示它们在某些状态下可以同时存在。此外,状态模式还包括一些抽象状态类(State),用于定义所有具体状态类的共同接口。通过使用状态模式,我们可以将对象的状态与其行为分离,使得对象在不同状态下能够表现出不同的行为,从而实现更加灵活和可扩展的系统设计。
作者其他创作
大纲/内容
ConcreteState2
+ methodA(Context context)+ methodB(Context context)
Factory
+ state:type = volatile State+ params:java.utl.HashMap
+ getBeans(class) : State static
Context
+ state:State
+ methodA()+ methodB()
为了State的复用,这里将Context作为参数传入方法内。否则State没有办法复用。对静态方法的调用,局部变量,方法中的参数,使用虚线箭头。
你会发现,状态模式特定状态和一个上下文之间的关系也是有一点像代理模式的。
State
ConcreteState1
state.methodA(this);state.methodB(this);
0 条评论
下一页