2012-09-09 33 views
1

我正在创建一个Project RedDwarf框架(旧项目DarkStar)的棋盘游戏。简单的游戏服务器的服务器字符串命令编程体系结构..!

我的问题是这样的:

我需要来回发送从服务器到客户端的命令和反向的,我需要一个坚实的编程架构,纳入有关的命令通讯服务。

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

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

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

我应该怎么做呢?

回答

0

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

OnlineCheck可能有一个名为getCommand的方法,并将返回命令String。

命令接口应该有一个入口点,如​​或run(),它将实现OnlineCheck应该执行的操作。所以不需要任何getCommand(),它反过来返回需要解释的命令字符串。

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

我的两分钱!