首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单一平台系统上使用.proto文件有充分的理由吗?

在单一平台系统上使用.proto文件有充分的理由吗?
EN

Stack Overflow用户
提问于 2012-07-18 15:26:30
回答 1查看 192关注 0票数 3

我们正在开发一些通过Protocol Buffers相互通信的服务。所有的服务都是在.NET上编写的,我预计不会把它们从.NET上迁移出来,也不会在其他平台上的服务中使用相同的消息。

这些消息目前是用.proto编写的。代码生成步骤对我来说似乎是多余的。

除了跨平台兼容性(这不是我们关心的问题)之外,还有什么理由用.proto而不是直接用.NET语言来编写消息呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-18 15:36:06

考虑到你所描述的设置(.NET到.NET,不太可能需要跨平台),那么我会说“不”。我们做了大量符合这一类别的事情,我们只是代码优先(-),即我们编写C#类型,并使用它们。这为我们提供了对类型的完全控制和灵活性,并避免了不必要的构建/工具步骤。

事实上,这实际上是protobuf-net的核心动机和目的:它能够从常规的c#类型工作,而不需要像所有其他.NET序列化器(XmlSerializerDataContractSerializerJavaScriptSerializer等)那样在领域特定语言中定义。

请注意,虽然protobuf-net包含.GetProto<T>功能,但它还没有在v2中重新实现;然而,现在跨平台预编译器已经完成并工作了,这是我列表中的下一个功能。我的观点是:如果有跨平台等需求,那么protobuf-net可能能够帮助你从现有的合同中生成.proto。

如果您担心在某些情况下可能需要与其他平台进行互操作,请坚持使用核心的protobuf功能集。避免使用protobuf-net添加,例如:

  • inheritance
  • .NET-specific类型支持(

支持DateTimedecimal、类型

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

https://stackoverflow.com/questions/11536285

复制
相关文章

相似问题

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