职责链模式
2022-11-20 22:45:00 0 举报
在军队中,一般根据战争规模的大小和重要性由不同级别的长官(Officer)来下达作战命令,情报人员向上级递交军情(如敌人的数量),作战命令需要上级批准,如果直接上级不具备下达命令的权力,则上级又传给上级﹐直到有人可以决定为止,这类似我们本课中学习的职责链模式。可通过职责链模式来模拟该过程,客户类(Client)模拟情报人员,首先向级别最低的班长(Banzhang)递交任务书(Mission),即军情,如果超出班长的权力范围,则传递给排长(Paizhang),排长如果也不能处理则传递给营长( Yingzhang),如果营长也不能处理则需要开会讨论。我们设置这几级长官的权力范围分别是: (1)敌人数量≤10,班长下达作战命令。 (2)10≤敌人数量≤50,排长下达作战命令。 (3)50≤敌人数量<200,营长下达作战命令。 (4)敌人数量≥200,需要开会讨论再下达作战命令。 绘制类图并编程实现。
作者其他创作
大纲/内容
Paizhang
+ handleRequest(Mission request):void
Officer {abstract}
# officer:Officer
+ setOfficer(Officer officer):void+ handleRequest(Mission request):void
Mission
- enemiesNumber:int
+ Mission(int enemiesNumber)+ getEnemiesNumber():int+ setEnemiesNumber(int enemiesNumber):void
Yingzhang
officer
Banzhang
0 条评论
下一页