如果请求的接收者可以以与地址空间无关的方式表示,那么您可以将请求的命令对象传输到不同的进程并在那里完成请求。
来自:http ://www.worldcat.org/isbn/9780201633610
如何在 C++ 中以独立于地址空间的方式表示对象?
编辑:如何在 c++ 中以独立于地址空间的方式表示对象,以便将命令对象传输到不同的进程并能够满足请求?
如果请求的接收者可以以与地址空间无关的方式表示,那么您可以将请求的命令对象传输到不同的进程并在那里完成请求。
来自:http ://www.worldcat.org/isbn/9780201633610
如何在 C++ 中以独立于地址空间的方式表示对象?
编辑:如何在 c++ 中以独立于地址空间的方式表示对象,以便将命令对象传输到不同的进程并能够满足请求?
至于您的问题更新:
如何在c ++中以独立于地址空间的方式表示对象,以便将命令对象传输到不同的进程并能够满足请求?
这是使用反序列化将任何命令对象传递给另一个进程和适当的 IPC 技术(最简单的传输是基于套接字的通信恕我直言)来完成的。
没有用于反序列化的 c++ 标准惯用解决方案,但google protobuf或boost::serialization可以提供很好的帮助。
我认为您引用的段落来自命令模式。
该模式的描述也可以在不同站点的网络上找到。例如https://en.wikipedia.org/wiki/Command_pattern。
命令模式的最常见表现形式是,其中与命令对应的数据以与地址空间无关的方式传输:
我相信还有更多的技术可以让你在远程机器或不同的进程中执行命令。它们之所以能够工作,是因为命令可以以独立于地址空间的方式表示并通过网络或跨进程边界传输。
如何在 C++ 中以独立于地址空间的方式表示对象?
如果命令的发送者和接收者可以就基本类型(例如char
, int
, long
, float
, )的数据表示达成一致double
,他们通常可以将它们用作构建块,以实现更高级别对象的发送和接收。