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 超越巔峰 閱讀(1430) 評論(1)  編輯  收藏 所屬分類: Design PatternJava EE

          評論

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

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

          導航

          統計

          常用鏈接

          留言簿(12)

          隨筆分類(54)

          隨筆檔案(59)

          文章分類(2)

          文章檔案(1)

          相冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 黔南| 铅山县| 大名县| 德安县| 肃北| 永春县| 江北区| 吉林市| 綦江县| 沽源县| 栾城县| 乐平市| 濉溪县| 铅山县| 松溪县| 双鸭山市| 津市市| 滁州市| 陈巴尔虎旗| 许昌市| 泰兴市| 宁远县| 讷河市| 澄江县| 徐闻县| 治县。| 浑源县| 山东省| 镇巴县| 驻马店市| 北辰区| 余干县| 德格县| 佛学| 徐汇区| 古田县| 宁波市| 新泰市| 剑阁县| 封丘县| 英山县|