無憂無鹵

          鳥在籠中,恨關(guān)羽不能張飛;人處世上,要八戒更需悟空

          開發(fā)ssh框架程序推薦的目錄結(jié)構(gòu)(轉(zhuǎn))

          在用ssh開發(fā)web應(yīng)用時,需要對生成的各個類文件進行組織,下面就對一個可行的目錄方案進行介紹:

          譬如應(yīng)用中有一個用戶管理模塊,則在公共包下建立一個user包,如該公共包可以為com.simon.oa,

          在user包下包括如下子包

          1、controler包

          該包放置各種struts的action。

           

          2、dao包

          該包放置各類dao(data access object),也就是放置對數(shù)據(jù)庫訪問的實現(xiàn)類,在用myeclipse中的“Hibernate Reverse Engineering”進行反向操作時在某一個目錄中就會生成對應(yīng)某個表的DAO,生成后可將該DAO拖到dao包中。在某些應(yīng)用中將DAO作為接口,在該接口中包括所有對數(shù)據(jù)庫的操作方法,然后在dao包建立一個hibernate包,在hibernate包中放置對DAO接口的實現(xiàn),譬如:UserDAO接口有一個實現(xiàn)類為UserDaoImpl,將該類放置到hibernate包中,實際的開發(fā)傾向于后一種方式,因為對這個DAO接口可以實現(xiàn)spring的IoC操作。(不知道m(xù)yeclipse對此是怎么考慮的,這個問題讓我糾纏了很久,誤將DAO理解成一個能夠進行實際操作的類,而不是一個接口,以后開發(fā)要注意)

           

          3、model包

          該包中放置hibernate反向工程生成的bean和該bean對應(yīng)的.hbm.xml文件。

           

          4、service包

          該包放置業(yè)務(wù)操作類,譬如用戶服務(wù)類,一般情況將該用戶操作類提取一個接口,然后在service包下生成一個impl包,在impl包中才放置用戶操作接口的實現(xiàn)類。該用戶接口實現(xiàn)類中調(diào)用DAO接口對數(shù)據(jù)庫進行操作,而調(diào)用該實現(xiàn)類的方法在struts的action中。

           

          5、vo包(value object)

          vo包中的中包括struts中使用的POJO及actionform等信息。

          VO:  Value Object
          DTO: Data Transfer Object
          個人理解VO和DTO是類似的東西,原則上VO和DTO只有Public Fields,主要用于進程之間數(shù)據(jù)傳遞的問題,VO和DTO不會傳遞到表示層,在業(yè)務(wù)層就會被吸收。但看到很多人在建立VO和DTO時,也含有Setter,Getter屬性和一些其它的輔助方法,這也無可厚非,我自己也不能確定這對不對。

          posted on 2008-03-29 18:59 beyond 閱讀(2197) 評論(0)  編輯  收藏


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


          網(wǎng)站導航:
           

          導航

          <2008年3月>
          2425262728291
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆檔案

          相冊

          搜索

          最新評論

          • 1.?re: 近期任務(wù)
          • 大哥 等著你的drools5翻譯呢 drools4把我搞死了 如果你有關(guān)于drools4的心得的話請指教 感覺自己使用的不是很好 望賜教 QQ:53816565 謝謝
          • --sunnidy
          • 2.?re: Mysql遷移到Oracle
          • 不錯,看樣子支持大多數(shù)數(shù)據(jù)庫遷移到oracle,不知道是否支持從oracle轉(zhuǎn)出?
          • --FastUnit

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 吉林省| 金沙县| 策勒县| 达尔| 丹江口市| 滁州市| 阳江市| 正蓝旗| 青河县| 巴南区| 蓬安县| 常德市| 紫阳县| 建水县| 祁东县| 五河县| 鄂尔多斯市| 霍林郭勒市| 白城市| 隆林| 凭祥市| 新田县| 容城县| 旬阳县| 将乐县| 若羌县| 祁东县| 巴马| 马山县| 阿坝| 安庆市| 湄潭县| 多伦县| 莱州市| 嘉黎县| 六枝特区| 论坛| 内丘县| 二连浩特市| 正安县| 亚东县|