好·色之徒
          已經(jīng)轉(zhuǎn)移到 好·色之徒--我的博客、我的生活

          在這邊記述中,將詳細描述整個系統(tǒng)中處于核心地位的一些類。
          首先需要說明的是底層數(shù)據(jù)訪問接口:ICommonDAO--系統(tǒng)訪問數(shù)據(jù)庫的接口,所有對數(shù)據(jù)庫的訪問都通過此類來完成。里面定義了對數(shù)據(jù)庫操作的相關接口方法,例如:save、update、delete等等。
          說明:本來作為interface應該保持獨立性,不應該涉及到具體實現(xiàn)的一些特征,由于系統(tǒng)采用Hibernate來實現(xiàn)底層操作,所以在interface中也加入了一些Hibernate所具有的一些方法,比如findByCriteria、getCountByCriteria。當然在設計中如果可以避免就盡量避免
          下一個要介紹的和ICommonDAO緊密關聯(lián),就是它的具體實現(xiàn)CommonDAO
          CommonDAO繼承了HibernateDaoSupport,實現(xiàn)了ICommonDAO接口。繼承HibernateDaoSupport,即具體實現(xiàn)采用了hibernate,而且HibernateDaoSupport中的getHibernateTemplate()方法可以方便的對數(shù)據(jù)庫進行操作,舉一個例子:
          public void save(final Object entity) { getHibernateTemplate().save(entity); } 保存一條記錄就這么簡單
          關于ICommonDAO、CommonDAO的命名,由于系統(tǒng)已經(jīng)確定采用hibernate,所以沒有特定把實現(xiàn)命名為HibernateDAO,如果系統(tǒng)需要采用不同的數(shù)據(jù)層實現(xiàn),比如JDO、JPA等,那么接口中制定的方法就要相對中立,沒有了現(xiàn)在設計中所涉及到的hibernate特性了。這個希望有所注意。
          關于數(shù)據(jù)層的類就這兩個了,下面說一下表現(xiàn)層struts,很簡單,就定義一個抽象類BaseAction,繼承DispatchAction,里面為空,沒有作任何方法(當然可以在這里面做一些特殊的處理,因為系統(tǒng)比較簡單,所以沒有什么特別之處了),應用中所有的Action類都繼承與它。
          接下來描述一個幾個有關業(yè)務的核心類:BaseService、BaseFacade、AppRelationCore
          BaseService:系統(tǒng)中所有業(yè)務組件的抽象類,所有業(yè)務組件都繼承于此抽象類。此抽象類主要完成一些通用的屬性和方法,AppRelationCore和ICommonDAO
          BaseFacade:系統(tǒng)各模塊為其它模板提供外觀模式的抽象類,所以Facade類都繼承于此抽象類,在此抽象類中主要完成一些 通用的配置和方法,AppRelationCore和ICommonDAO
          AppRelationCore:存放各個模塊facade的接口,模塊直接互相的調(diào)用都需要通過它來實現(xiàn)
          這里需要作幾點說明:BaseService比較容易理解,而且在系統(tǒng)中用到的極為普遍,可以參考源代碼,會有深刻的體會。
          關于BaseFacade和AppRelationCore類,先前文檔中有過說明,該系統(tǒng)是以模塊來劃分功能區(qū)域的,為了保持各個模塊相對的獨立性,模塊與模塊之間的調(diào)用都要通過Facade類來完成(所有模塊下的Facade類都繼承于BaseFacade),而最終所有的Facade類都會在AppRelationCore類中體現(xiàn),系統(tǒng)調(diào)用都會通過AppRelationCore來完成,以保持簡單、完整、一致性。由于訂單系統(tǒng)中,模塊少,所以沒有用上Facade類,不過這種方式還是可以推薦的,這里特此說明。
          已經(jīng)轉(zhuǎn)移到 好·色之徒--我的博客、我的生活

          Feedback

          # re: 采用struts+hibernate+spring開發(fā)的一個web系統(tǒng)(5)  回復  更多評論   

          2006-10-13 13:57 by 1
          不用現(xiàn)金抵押,只要你夠?qū)嵙?www.mylinux.com.cn項目投標系統(tǒng)為您提供完善的軟件外包服務.

          # re: 采用struts+hibernate+spring開發(fā)的一個web系統(tǒng)(5)  回復  更多評論   

          2006-10-20 10:36 by 11
          增開7群,號碼 30440732
          8群 30756649
          9群 30178567
          10群 28694497
          我們的qq群:15096318 學習程序的都可以來
          www.mylinux.com.cn 包羅java,linux,數(shù)據(jù)庫,安全等等技術資料,更有眾多軟件外包項目,所有項目直接與mylinux簽署合同,保證用戶的合法權利.
          qq群:15096318(已滿) 26343297(已滿) 26343309(已滿) 20767472(已滿) 30440614(已滿)21189212(已滿)

          # re: 采用struts spring hibernate開發(fā)的一個web系統(tǒng)(5)  回復  更多評論   

          2008-02-19 13:01 by jhsir
          jia wo de 18239768

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


          網(wǎng)站導航:
           

          posts - 39, comments - 91, trackbacks - 0, articles - 1

          Copyright © 城市劣人

          好·色之徒
          主站蜘蛛池模板: 琼结县| 伊宁县| 英山县| 尤溪县| 勐海县| 义乌市| 南京市| 贺兰县| 阿城市| 镇赉县| 龙岩市| 扶余县| 克山县| 莫力| 邵阳县| 武义县| 阿拉尔市| 九寨沟县| 章丘市| 庆城县| 邵阳县| 栾城县| 会同县| 墨玉县| 姜堰市| 孟津县| 武隆县| 昌平区| 新巴尔虎右旗| 兰溪市| 定南县| 衡山县| 马山县| 仁怀市| 观塘区| 武邑县| 神池县| 琼中| 天柱县| 博爱县| 宝应县|