看起来有多种方法可以做到,但无法找到最新的最佳方法。
正确的做法是什么?我想抽象数据库中的实际数据。
答案 0 :(得分:0)
由于你的dict-like类实际上不是字典,我会选择MutableMapping
。子类化dict
意味着类似于dict的特性,包括性能特征,如果你实际上正在访问数据库,那么这些特性将不会成立。
答案 1 :(得分:0)
如果您正在做自己的事情(例如发明自己的轮子),您也可以从头开始编写类(即object
的子类),只提供正确的特殊成员(例如__getitem__
)以及对象data model中描述的其他此类函数,以便它像dict一样嘎嘎作响。在内部,您甚至可能拥有许多dicts(has-a)来帮助您实施。
通过这种方式,你不必为了“适应”某些现有的实现而设计你的设计,并且你不需要支付一些你不一定使用的东西。这个建议部分是因为你的数据库支持的类如果你考虑性能/缓存/一致性/最佳查询等,它将比标准字典复杂得多。