我们将引入协议缓冲作为某些后端RPC服务的新传输方式。由于手动在类似对象之间传输数据存在阻力,我可以预见到协议缓冲实例会被传递到比RPC服务器接口更高的位置。
这是否是我应该避免的事情?将协议缓冲对象视为普通数据持有者安全吗?它具备快速高效地转换成二进制并进行转换的便利性。
我认为它作为生成数据对象的好方法的另一个原因是所需/可选字段的概念和自动生成的构建器接口。
我们将引入协议缓冲作为某些后端RPC服务的新传输方式。由于手动在类似对象之间传输数据存在阻力,我可以预见到协议缓冲实例会被传递到比RPC服务器接口更高的位置。
这是否是我应该避免的事情?将协议缓冲对象视为普通数据持有者安全吗?它具备快速高效地转换成二进制并进行转换的便利性。
我认为它作为生成数据对象的好方法的另一个原因是所需/可选字段的概念和自动生成的构建器接口。
它们不太方便以这种方式使用,因为它们是不可变的 - 你可以传递构建器,但那会导致类型名称相当冗长。这也意味着你只能使用协议缓冲区支持的数据类型(和你自己的消息)。
这样做是安全的,但并不总是创建最好的设计。另一方面,有时这正是医生所开的药方 :)
我建议你进行实验 - 这里没有“一刀切”的方法。