posts - 176, comments - 240, trackbacks - 0, articles - 7

          [導入]IVarValueSet: Map語義的擴展

          Posted on 2005-12-28 22:22 canonical 閱讀(884) 評論(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結構類似。
          主站蜘蛛池模板: 嘉鱼县| 尉犁县| 万年县| 开封县| 丽江市| 秀山| 忻州市| 平邑县| 白山市| 阿荣旗| 商城县| 夹江县| 台北市| 南和县| 安溪县| 逊克县| 顺平县| 佛坪县| 寻甸| 乌鲁木齐市| 林甸县| 刚察县| 若羌县| 贵港市| 山西省| 万荣县| 平乐县| 通河县| 田林县| 石狮市| 綦江县| 延吉市| 宣威市| 泗阳县| 成都市| 宜川县| 务川| 民丰县| 浦江县| 木兰县| 白城市|