紧张编译协议缓冲区
required是永世的,在将字段标志为required时应非常小心。如果在某个时候渴望停止编写或发送必需字段,将该字段更改为可选字段将很成题目 - 旧的读取器会认为没有此字段的消息不完整,并可能会不测地拒绝或删除它们。你应该考虑为协议缓冲区编写特定于应用程序的自定义验证例程。在Google 强烈不赞成使用required字段;在 proto2 语法中定义的大多数消息仅使用optional和repeated。(Proto3 根本不支持required字段。)
紧张编写消息
协议缓冲区和面向对象设计 协议缓冲区类基本上是数据持有者(如 C 中的布局),不提供其他功能;它们在对象模子中不是好的首要公民。如果想为生成的类添加更丰富的行为,最好的方法是将生成的协议缓冲区类包装在特定于应用程序的类中。如果你无法控制 .proto 文件的设计(比方,如果正在复用来自另一个项目的文件),那么包装协议缓冲区也是一个好主意。在这种情况下,您可以使用包装器类来构建更适合你应用程序的独特环境的接口:隐蔽一些数据和方法,公开便捷功能等。绝不应通过继承生成的类继承来向它们添加行为。这会破坏内部机制,而且无论如何也不是好的面向对象实践。
欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |