设计模式(12)——职责链模式
发布时间
阅读量:
阅读量
职责链模式
一、题目:
在军事行动中,通常依据冲突规模的大小及战略意义,由不同层级的指挥官(officer)来发布作战命令。情报人员需将收集到的情报(如敌方人数等信息)上报给上级,作战指令必须经过上级批准。若直接上级无权下达命令,则继续向上级传递,直至找到具备决策权的指挥官。本题拟采用职责链模式来模拟这一流程,客户类代表情报人员,首先向级别最低的班长(Bangzhang)提交任务书(Mission),即军事情报。若该任务超出班长的权限范围,则转交排长(Paizhang)。若排长无法处理,则进一步转交营长(Yingzhang)。若营长亦无法处理,则需召开会议进行讨论。设定各级指挥官的权限范围如下:
1>. 敌方人数少于10人时,由班长下达作战指令
2>. 敌方人数介于10人至50人之间时,由排长下达作战指令
3>. 敌方人数介于50人至200人之间时,由营长下达作战指令
4>. 敌方人数达到或超过200人时,需召开会议进行讨论
(1)请绘制职责链模式的结构视图;
(2)请绘制该实例的类图,并完成代码实现。
二、所用模式结构视图:

还没有任何评论哟~
