badqiu

          XPer
          隨筆 - 46, 文章 - 3, 評論 - 195, 引用 - 0
          數據加載中……

          系統參數的動態刷新,只需一個原則:保持類的無狀態

          應用系統的開發經常有參數動態刷新的問題,一般的方案會比較復雜,其實只要保持一個原則: 保持類的無狀態,那么動態刷新參數是一簡很簡單的事情. 舉下面這個例子.

          將我們原來的代碼:

          //我們有很多類似這樣的UserSerive類,每個類都維護自己的狀態,每個類的屬性都需要動態刷新
          public
           class UserService {
              
          private String username; //現username為實例屬性,刷新會十分麻煩
              public void setUsername(String v) {
                  
          this.username = v;
              }
              
              
          public void doSomeThing() {
                  loadUserDetail(username);
              }
              
          }

          username是一個需要更新的系統參數,而UserSerivce存在spring容器中將username變量注入進來。 那么如果username這個參數需要更改的話會比較麻煩

          修改為無狀態的類:

          public class StateLessUserService {
            
          private Properties properties; //該properties為系統全局共享,這樣內部進行參數的刷新,,將會十分方便  

            
          public void doSomeThing1() {
              
          //實現1: 全局的properties
              loadUserDetail(properties.getProperty("username"));
            }

            
          public void doSomeThing2() {
              
          //實現2: 靜態方法得到配置,由Config統一維護參數
              loadUserDetail(Config.getProperty("username"));
            }
          }

          如實現2,現我們使用一個統一的Config類得到配置參數,只需要刷新該類,那與username類似的配置參數都可以立即修改。

          如上描述: 只要我們的類無狀態,那么想要動態刷新參數是十分簡單的一件事.

          再描述一個原則:

          既然可以用如此簡單的方法達到我們的目的,為何要搞出那么復雜的方案. (簡單就是美)

          posted on 2010-05-25 00:43 badqiu 閱讀(2034) 評論(5)  編輯  收藏

          評論

          # re: 系統參數的動態刷新,只需一個原則:保持類的無狀態  回復  更多評論   

          你在說什么?沒看懂
          2010-05-25 09:23 | 咖啡妝

          # re: 系統參數的動態刷新,只需一個原則:保持類的無狀態  回復  更多評論   

          不知所謂???
          2010-05-25 09:50 | Andyson

          # re: 系統參數的動態刷新,只需一個原則:保持類的無狀態  回復  更多評論   

          難道沒有描述清楚,意思如果 username是一個需要更新的系統參數,而UserSerivce存在spring容器中將username變量注入進來。 那么如果username這個參數需要更改的話會比較麻煩
          2010-05-25 10:30 | badqiu

          # re: 系統參數的動態刷新,只需一個原則:保持類的無狀態  回復  更多評論   

          這個思想還是不錯的... 具體要看用到哪里。
          2010-05-25 10:58 | fantasy

          # re: 系統參數的動態刷新,只需一個原則:保持類的無狀態  回復  更多評論   

          lz從哪里學的?不錯
          2010-05-25 21:48 | Jie

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 正宁县| 公安县| 德化县| 洛南县| 洛宁县| 汤原县| 报价| 卢湾区| 察隅县| 河间市| 化隆| 毕节市| 德兴市| 兴隆县| 安多县| 沂源县| 崇礼县| 英山县| 大兴区| 来宾市| 平陆县| 吉木乃县| 浑源县| 和平县| 慈溪市| 洪湖市| 洛南县| 杭锦旗| 章丘市| 临邑县| 和田县| 伊通| 盐池县| 东丽区| 安新县| 平谷区| 张家川| 奇台县| 南充市| 璧山县| 姜堰市|