2011-07-30 87 views

回答

1

实际上,区别不在于结构和实现,而是概念 - 这两种结构都代表不同的概念。

消息 - 即传输某种信息的结构

命令 - 触发某种动作

也就是说,命令是一种消息的结构,因为它至少传输关于动作的信息(并且在大多数情况下还有其他参数)。 在实现方面,MessageHandlers和CommandHandlers看起来非常相似,取决于你想要对这些信息做什么。

实例

UserRegisteredMessage(用户名) - ,通知有关在系统中注册所使用的消息,处理程序可以用于显示在UI此信息

RegisterUserCommand(用户名) - 一个命令,指示我们的系统注册一个用户,这可能涉及某种额外的行为(如检查唯一性),并可能会失败。

1

在我的经验中,主要是语义和模式的放置位置。消息可能会或可能不会产生副作用,其中一个命令意味着它会。另外,我认为命令模式是作为客户端上的UI模式(通常,虽然不总是),其中消息模式意味着网络跳跃的潜力。

此外,在大多数实现中,消息更松散耦合。您可以在可能听或不听的频道上发送消息。命令(通常并不总是)在执行时更直接。

+0

对不起,我没有得到你想要解释我。 – Rookian