Closed ErQi closed 8 years ago
这是一个重要的可选接口,提供了 Content
的序列化方案,使得 Content
能够转为 byte[]
存储于数据库中,详情可以看我的 TimeMachine 应用:
TimeMachine 是我另一个项目,其中的 transformer 模块使用了 Google 的 Agera 和我的 MultiType.
实现了 Savable
的 TextContent
:
通过 Savable
,我们可以把任意 Item
(可能包含不同的 ItemContent
子类对象),统一存储到一个数据库表中,不需要新增字段也不需要修改表结构。
谢谢解答,我想我需要去把你的TimeMachine项目去分析一遍才能理解其重要性.
简单说,Savable
使得我们能够不修改数据库字段和表结构的情况下,容纳任意类型数据,这和 MultiType 的设计初衷是一样的:做一个新需求,不需要修改任何旧的代码,只要增加新代码即可。
谢谢,也就是说这接口主要是针对于对本地存储的兼容性所设计,在不考虑本地存储的情况下是否使用该接口并不影响. 这样么?
它是一个可选接口,如果你不需要存储,或者想自己设计存储方案,完全可以无视它、不必实现它。
谢谢解答,我想我理解其设计含义了.
这个接口将在 2.2.0 正式版中删除,感谢反馈。
这个接口是否有点鸡肋? 望解答.