Java 消息传递:许多RemoteServices方法或唯一的消息生成器/解释器?

Java 消息传递:许多RemoteServices方法或唯一的消息生成器/解释器?,java,gwt,servlets,client-server,Java,Gwt,Servlets,Client Server,嘿,伙计们, 我正在使用GWT编写一个简单的多人棋盘游戏。 当我编写代码时,我想到了一个问题: 起初,我认为我的客户机可以通过RemoteServices调用与服务器通信,因此,如果客户机想要连接到游戏,他可以执行以下操作: joinGame(字符串玩家名称、字符串玩家名称) 服务器实现将对参数的数据进行必要的处理。 换句话说,我会有很多远程服务方法,在最坏的情况下,每种类型的消息都有一种方法 我想到了另一种方法,那就是创建一个消息类,并根据需要对其进行子分类。 这样,一个remoteSer

嘿,伙计们, 我正在使用GWT编写一个简单的多人棋盘游戏。 当我编写代码时,我想到了一个问题:

起初,我认为我的客户机可以通过RemoteServices调用与服务器通信,因此,如果客户机想要连接到游戏,他可以执行以下操作:

  • joinGame(字符串玩家名称、字符串玩家名称)
服务器实现将对参数的数据进行必要的处理。 换句话说,我会有很多远程服务方法,在最坏的情况下,每种类型的消息都有一种方法

我想到了另一种方法,那就是创建一个消息类,并根据需要对其进行子分类。 这样,一个remoteService方法就足够了:

  • 发送消息(消息m)
消息构建和解释处理也将由专门的类完成。 特别是建筑类甚至可以放在gwt应用程序共享包中


也就是说, 我看不出这样或那样的好处。因此,我不确定我是否应该用一种或另一种方式,甚至是另一种完全不同的方式。

一对另一,你认为谁更好(在给定的情况下有更多的好处)


编辑:我忘了提到的一件事是,让我想到第二个(sendMessage)选项的因素之一是,在我的应用程序中,有一个CometServlet查询游戏实例,以查看在其自己的消息队列中是否没有向客户端发送消息(每个客户端都有一个消息队列).

消息传递会占用程序员更多的时间,并创建一个更加模糊的界面。使用远程服务方法更干净、更快。如果您认为服务太多,那么可以将您的服务拆分为多个服务。您可以提供高分服务、玩家记录服务和实际游戏服务


我所看到的消息传递的唯一优势是,如果您离开Java RPC环境,它的可移植性可能会稍微好一点,但这将是一个相当剧烈的转变。

消息传递需要更多的程序员时间,并创建一个更模糊的接口。使用远程服务方法更干净、更快。如果您认为服务太多,那么可以将您的服务拆分为多个服务。您可以提供高分服务、玩家记录服务和实际游戏服务

我所看到的消息传递的唯一优势是,如果您离开Java RPC环境,它的可移植性可能会稍微好一些,但这将是一个相当大的转变。

我更喜欢这种情况下的消息传递(类似于您的
sendMessage()
概念)

如果您有一个接受命令的远程服务方法,缓存就会变得非常简单。在这种情况下,批处理也更容易实现。如果您认为可能需要撤销功能,也可以添加撤销功能

该项目是一个很好的框架,它将这种模式引入GWT。

我更喜欢这种情况下的模式(类似于您的
sendMessage()
概念)

如果您有一个接受命令的远程服务方法,缓存就会变得非常简单。在这种情况下,批处理也更容易实现。如果您认为可能需要撤销功能,也可以添加撤销功能

该项目是一个将此模式引入GWT的伟大框架