J2EE之巔

           

          Spring構建應用系統的最佳架構與模式實踐(1)

          蔡 超
          SCEA,SCBCD,MCSD,IBM RUP Specilist
          北京天融信軟件架構師
          SUN,Microsoft培訓中心特邀高端教師
          常年提供架構咨詢服務
          chaocai2001@yahoo.com.cn ,010-82776427

          引言
          在使用Spring構建應用時和采用EJB構建應用一樣同樣也存在不少常用模式和最佳實踐,當然很多Core J2EE Pattern仍然是我們構建spring應用中的優秀模式,不過有的也不再適用了(如:IoC的應用使得Service Locator不再適用,Hibernate取代Entity Bean使得DTO不再適用等)。
          下文是一些在以Spring為核心的架構中的常見模式和架構最佳實踐。




          圖表 1 Spring應用常見架構模式列表
          DAO模式
          雖然采用了諸如Hibernate這樣的O/R Mapping工具或是iBates這樣的SQL Mapping工具但是采用DAO模式仍有相當好處。
          在實際應用中我們常會遇到如下問題:
          1 性能問題:由于性能問題我們可能要改變數據訪問方式,如采用JDBC替換Hibernate這時,這時如果采用了DAO模式,數據訪問被有效的封裝和業務邏輯完全分離,易于實現替換。
          2 移植問題:需要支持多種數據庫,DAO模式仍然是一種穩妥的選擇。雖然諸如Hibernate及iBates也提供很好的數據庫無關性,但如果使用某些數據庫的特殊功能時,就會出現問題。
          當然,對于是否采用DAO模式也不可一概而論,應為他畢竟會增加應用的開發復雜性。個人認為很關鍵的一個判定條件是業務邏輯是否會和持久化邏輯混合。

          Application Service模式
          封裝一定的業務邏輯和功能,提高復用性,即防止Façade和業務對象的臃腫。注意在此可以應用Command模式及Strategy模式提供系統可維護性和可擴展性。
          這個模式很重要,但常常被大家忽略,這時應為我們常會把邏輯放在Façade中,其實這是很錯誤的。例如:我們可能會提供多種不同Façade以適應不同的訪問方式,這樣就會出現大量重復的業務邏輯代碼。

          Façade模式
          為客戶端提供訪問業務組件的統一模式。便于實現對不同訪問方式的支持(如:遠程或本地)。特別在遠程調用時通過暴露粗粒度的接口,提高系統的性能。
          同時,可以根據客戶的不同,通過不同Façade來控制客戶的操作。

          posted on 2007-05-08 14:25 超越巔峰 閱讀(1434) 評論(1)  編輯  收藏 所屬分類: Design PatternJava EE

          評論

          # re: Spring構建應用系統的最佳架構與模式實踐(1) 2007-05-08 15:18 dennis

          應該是facade模式吧,有些字符出現錯誤。  回復  更多評論   

          導航

          統計

          常用鏈接

          留言簿(12)

          隨筆分類(54)

          隨筆檔案(59)

          文章分類(2)

          文章檔案(1)

          相冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 杭州市| 安吉县| 内丘县| 和龙市| 涟水县| 乌兰浩特市| 锡林郭勒盟| 兴义市| 武穴市| 轮台县| 杭锦后旗| 宣汉县| 河曲县| 邹平县| 从江县| 定边县| 开阳县| 洱源县| 南澳县| 大英县| 南岸区| 长沙市| 崇礼县| 宁陕县| 保靖县| 田东县| 东山县| 无极县| 铜川市| 浙江省| 奉化市| 神木县| 凌源市| 古丈县| 泽普县| 枣强县| 榆树市| 兴业县| 玉门市| 平陆县| 介休市|