![]() |
1
11
透视图1 您编写一个.proto文件并将其交给生成构建器代码的protoc。他们建议不要在生成的代码中添加任何方法。如果您想在生成的代码中添加一些自定义行为,那么就编写自己的类来包装生成的代码。
这是一个通用的良好编程原则。
通过提供中介,您还可以将代码与底层序列化机制分离。这允许您切换序列化器实现(例如,您希望序列化一个负载,其中所有数据都是字符串格式的……其中带压缩的JSON系列化是更好的选择),并且影响较小。你可以这样做
|
![]() |
2
3
协议缓冲区类是从.proto文件生成的。这些生成的类都有直接操作它们包含的字段的所有方法。但是他们没有比修改字段更高级别操作的方法。 然后,包装器类可以为API的用户提供更丰富或更受限的接口。由于对协议缓冲区的任何修改都需要经过包装对象,因此可以完全控制要支持的操作。 |
![]() |
3
-1
|