Posted on 2005-12-28 22:22
canonical 閱讀(877)
評論(0) 編輯 收藏 所屬分類:
Witrix開發平臺
關系數據庫提供的是集合存儲模型, query(fields, condition) ==> list of records, 可以從條件集合映射到記錄集合。
當condition退化為單一的key, 而fields采用默認值的時候,我們就退化到Map語義, 從key對象映射到value對象,而不是從集合映射到集合。
很
多時候我們只需要這種簡單Map語義的存儲模型,例如用戶偏好設置的存儲。在這種受限的模型下我們也可以更直接的實現cache支持。如果我們希望在
Map的基礎上稍微擴展一些集合操作的特性,可以通過key的結構擴展來實現。即規定key采用類似url格式的字符串,實現key空間的樹形結構。在
witrix平臺中,這種樹形結構的映射關系通過IVarValueSet接口來實現。
interface IVarValueSet{
IVariant getVar(String name);
// 得到前綴為prefix的所有變量構成的子集合,注意這里自然退化的特點
IVarValueSet getSubSet(String prefix);
}
變量名的格式規定為 a.b.c 或者/a/b/c. 這種變量結構的組織和劃分方式其實與JBoss項目中的TreeCache結構類似。