介绍
协议是会进化的。版本升级时,往往只是部分字段发生变化:
- 某字段在旧版本中是
u8,新版本变成了u16 - 某字段在旧版本中以 GBK 编码,新版本改用 UTF-8
- 某字段干脆就是新版本才有的
- ……
若为每个版本维护一套独立的 Entity 类,代码将迅速膨胀,版本之间的差异淹没在重复的 boilerplate 中。
@XtreamField 的 version 属性便是为此而生——在 同一 Entity 类 中,通过 同一字段 上的多个注解声明,精确控制每个版本下该字段的编解码行为。
2026/1/17大约 4 分钟