Protocol buffers 协议缓冲区:只读字段?
是否可以在.proto文件中将字段标记为只读,以便在生成代码时,这些字段没有setter?最终,我认为这里的答案是“否”。有一个适用于DTO的好的基本指导规则:Protocol buffers 协议缓冲区:只读字段?,protocol-buffers,Protocol Buffers,是否可以在.proto文件中将字段标记为只读,以便在生成代码时,这些字段没有setter?最终,我认为这里的答案是“否”。有一个适用于DTO的好的基本指导规则: DTO通常应尽可能简单,以适合特定序列化程序的方式传输用于序列化的数据 如果该基本模型足以让您在该层之上使用,则可以 但如果不是:不要与连载器抗争;相反,在DTO层之上创建一个单独的域模型,并在序列化之前或反序列化之后在两个模型之间进行映射 或者换句话说:生成器不想公开只读成员这一事实与此无关,因为如果您需要一些外来的东西,您不应该
- DTO通常应尽可能简单,以适合特定序列化程序的方式传输用于序列化的数据
- 如果该基本模型足以让您在该层之上使用,则可以
- 但如果不是:不要与连载器抗争;相反,在DTO层之上创建一个单独的域模型,并在序列化之前或反序列化之后在两个模型之间进行映射
由于您提到了C#,所以要注意完整性:如果您在protobuf net中使用代码优先的方法,那么它可以与
{get;}
-仅自动道具和{get;}配合使用
-只有手动道具如果所有公共成员都映射到一个明显的构造函数。你让protoc生成的目标语言是什么?我的目标是Java和C。