遇到这种情况程序应该如何设计

the_venus 2012-07-18 10:12:56
大家应该遇到这样一种情况,在一个状态转换表中有许多的状态,并且状态的种数是可变的,每一种状态将会处理各种消息,并且消息的种类也是可变的,如下表所示:

-----------------------------------------------
| 消息 | 消息1 | 消息2 | .... |
| 状态 | | | |
-----------------------------------------------
| 状态1 | 处理11 | 处理12 | .... |
-----------------------------------------------
| 状态2 | 处理21 | 处理22 | .... |
-----------------------------------------------
| ..... | ...... | ..... | .... |
-----------------------------------------------

我想把状态抽象成一个类 State,消息抽象成一个类 Message, 再用一个类 StateManager 进行管理,所有的状态都派生于State,所有的消息都派生于 Message,我原想使用State设计模式,但是现在发现了一个问题,所有的设计模式都遵循于单一的变化,在这里明显有两个变化,所以State设计模式用不了了。。。。

我想请教一下高手,使用设计这种情况的程序处理架构呀?
...全文
48 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
the_venus 2012-08-08
  • 打赏
  • 举报
回复
这种双变化是一类很常见的问题,我再举个例子,比如我要做一个攻击游戏,游戏中有两种角色:攻击者与防御者,攻击者可以选用不同的攻击设备,如刀、剑、枪等等,每一种攻击设备都有不同的攻击力,而防御者也有不同的防御设备,如盾牌、盔甲等等,不同的攻击设备对抗不同和防御设备所产生的攻击力度也不同,如果在这种情况下,攻击设备的种类是可变的,同时,防御设备的种类也是可变的。
那么我们同样可以画出以上这种表来,那么这种情况的实现又当如何呢?

1,557

社区成员

发帖
与我相关
我的任务
社区描述
软件工程 敏捷开发
社区管理员
  • community_144
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧