我们引入协议缓冲区作为一些后端RPC服务的新传输.因为在不同形式的类似对象之间手动穿梭数据是有阻力的,所以我可以预见到堆栈上传递的协议缓冲区实例比仅仅到RPC服务器接口要高一些.
这是我应该避免的吗?处理像普通数据持有者这样的协议缓冲区对象是否安全,它具有很好的便利性,可以快速有效地转换为二进制文件?
我认为它是一种生成数据对象的好方法的另一个原因是必需/可选字段的概念和自动生成的构建器接口.
好吧,他们使用这种方式并不是非常方便,因为它们是不可变的 - 你可以通过构建器,但这会产生相当长的类型名称.它还意味着您仅限于协议缓冲区(以及您自己的消息)支持的数据类型.
这样做是安全的,但它并不总能创造最好的设计.另一方面,有时它只是医生订购的:)
我建议你做实验 - 这里没有"一刀切".