1

我正在创建一个带有Project RedDwarf框架的棋盘游戏(旧项目 DarkStar)。

我的问题是这样的:

我需要从服务器到客户端来回发送命令并反向发送,并且我需要一个可靠的编程架构来合并到命令消息传递服务中。

我想有一个命令接口,每个子命令都是它的一个实现(它包含命令字符串)。

例如,假设我们需要检查用户是否在线。我们有一个名为 的接口Command,然后是一个扩展 Command 的名为 Check 的接口,最后我们有一个名为 OnlineCheck 的实现。OnlineCheck 可以有一个名为 getCommand 的方法并返回命令字符串。

好的,直到现在.. 但我真正想做的是,在同一个实现类上包含可能的回复,以便我可以根据预定义的回复之一检查客户回复我的内容。

我该怎么做呢?

4

1 回答 1

0

首先,欣赏命令模式的使用。

OnlineCheck 可以有一个名为 getCommand 的方法并返回命令字符串。

命令接口应该有一个类似的入口点,execute()或者run()可以实现 OnlineCheck 应该做的事情。所以不需要任何getCommand()反过来返回需要解释的命令字符串。

一旦你沿着这条路走下去,命令实例(在这种情况下是 OnlineCheck 的一个实例)可以保存响应并可以发送回客户端。反过来,客户端会将此响应返回给生成它的代码块,因为最好知道该命令期望什么类型的响应并可以适当地解释它们。

我的两分钱!

于 2012-09-10T03:30:48.140 回答