返回一个值
我使用命令模式通过TCP / IP套接字将命令从客户端传递到服务器。 服务器将接收命令对象,反序列化它,然后在命令对象上调用execute()。 但是,我需要通过套接字将值传回给调用者。 命令模式是否允许这样做? 如果没有,是否有解决方法? 我曾看过维基百科上的灯开关示例,这很棒,但没有返回值。 任何建议不胜感激。
在发送到远程服务器的Command
上不应该有“execute()”方法,这在很多方面都很糟糕,特别是在Java中。 Command
应该代表接收者应该采取的行动。 在这种情况下,在某个对象上调用方法。
Command
模式代表已采取或将要采取的行动,而不是执行这些行动。 更多地考虑一组要执行的指令。
你所描述的基本上是一个超级工程RPC调用机制。 不要重新发明这个轮子。 看看现有的RPC机制,在Java世界中有很多选择。 然后,您需要确定RPC是同步还是异步。
基于REST的API是流行的,并且将比API等任何本机语言特定的机制(如RMI)更长久。
链接地址: http://www.djcxy.com/p/50837.html上一篇: return a value