Protocol Buffer文档警告说…… You should never add behaviour to the generated classes by inheriting from them. This will break internal mechanisms and is not good object-oriented practice anyway. 来源:Protocol Buffer Basics 我的两
You should never add behaviour to the generated classes by inheriting
from them. This will break internal mechanisms and is not good
object-oriented practice anyway.
来源:Protocol Buffer Basics
我的两个问题是:
>这会破坏哪些内部机制?
>无论如何,这不是一个好的OO练习?
>可能存在根据预期类型列表检查传入对象的代码 – 如果您的类型不存在,则可能会失败
>它不会处理您添加的任何字段等
>串行器的整个想法是强有力地回馈你序列化的东西;如果您序列化SomeDerivedClass,则序列化程序无法再将其返回给您
>像这样的图书馆的全部意义是隐藏血腥的实施细节;你不应该搞任何实现(多态必须设计)
>作为OO关注的问题;这不是你的类型;它是一个旨在服务于特定目的的DTO.常见的用法可能是从DTO映射到/来自您的域模型,这可能更复杂,或者如果有用(可能作为外观)可能封装DTO.