设计模式-状态模式(State Pattern)
2016-07-20 15:30:43 0 举报
图书管理系统
作者其他创作
大纲/内容
Account(或其它类似功能的,不一定是账号,可以是订单)类:维护一个State类的一个实例与引起状态化的属性,该实例标识着当前对象的状态。State类:抽象状态类,定义了一个具体状态类需要实现的行为约定。客户下单、订单管理员已接单、等待厨房管理员确认和厨房管理员确认类:具体状态类,实现抽象状态类的每个行为。
concrectState3(等待厨房管理员确认)
checkstate(){if(Balance=2)order.state=this}else{ order.state=new concrectState4(this)}
concrectState1(客户下单)
concrectState2(订单土管理员接单)
checkstate(){if(Balance=1)order.state=this}else{ order.state=new concrectState2(this)}+changestate(code){Balance=code}
concrectState4(等待厨房管理员确认)
checkstate(){if(Balance=3)order.state=this}else{ order.state=new concrectState5(this)}
订单类order
+ Balance+astractState state
concrectState5(厨房管理员确认)
checkstate(){if(Balance=4)order.state=this}else{ order.state=new concrectStateend(this)}
astractState
+ Balance+ m_order
+ checkstate()+changestate(code)
concrectStateend(结束)
concrectStateend(astractState s){this.Balance=s.Balance}
checkstate(){if(Balance=5)order.state=this}else{ order.state=new concrectStateend(this)}
0 条评论
下一页