首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Protocol buffer作为通用数据对象?

使用Protocol buffer作为通用数据对象?
EN

Stack Overflow用户
提问于 2009-11-26 03:46:42
回答 2查看 1.7K关注 0票数 14

我们正在为一些后端RPC服务引入协议缓冲区作为新的传输。由于在不同形式的相似对象之间手动传送数据存在阻力,因此我可以预见Protocol Buffer实例将在堆栈中向上传递,而不仅仅是传递到RPC服务器接口。

这是我应该尽量避免的事情吗?将协议缓冲区对象视为普通数据持有者是否安全,因为它可以快速有效地转换为二进制或从二进制转换为二进制?

我认为它是生成数据对象的好方法的另一个原因是,必填/可选字段的概念和自动生成的构建器接口。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-26 03:55:16

因为它们是不可变的,所以使用起来不是很方便--你可以传递构造器,但这会使类型名变得相当长。这也意味着您只能使用protocol buffer支持的数据类型(以及您自己的消息)。

这样做是安全的,但它并不总是创造出最好的设计。另一方面,有时这只是医生的命令:)

我建议你尝试一下--这里没有“一刀切”的方法。

票数 9
EN

Stack Overflow用户

发布于 2009-11-26 04:01:09

通常,我会设计系统的各个层,这样一层的实现细节就不会泄露给另一层。我对Google的Protocol Buffers没有直接的经验,但听起来你想在传输和系统的更高层使用相同的表示。

如果您决定停止使用Protocol Buffers作为传输表示,那么使用其他表示有多容易?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1799495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档