無(wú)憂無(wú)鹵

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

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

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

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

          在user包下包括如下子包

          1、controler包

          該包放置各種struts的action。

           

          2、dao包

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

           

          3、model包

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

           

          4、service包

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

           

          5、vo包(value object)

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

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

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


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


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

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

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆檔案

          相冊(cè)

          搜索

          最新評(píng)論

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

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 奎屯市| 古田县| 观塘区| 晋城| 伊宁县| 新田县| 杂多县| 方山县| 盐城市| 汤阴县| 南木林县| 莱阳市| 南丰县| 兰考县| 阜南县| 湘阴县| 登封市| 大冶市| 张家港市| 绥宁县| 鹤岗市| 临西县| 镇宁| 孟津县| 新竹县| 辉县市| 嵊泗县| 英吉沙县| 慈利县| 云林县| 安丘市| 台东县| 达拉特旗| 岑巩县| 西峡县| 云浮市| 曲松县| 陵水| 昌平区| 汪清县| 北安市|