openfans整體設(shè)計(jì)介紹

          ?????????先說一下openfans最早版本的整體設(shè)計(jì)。首先是用Equinox直接new出項(xiàng)目來,它默認(rèn)是springmvc+spring+hibernate再加-上一些常用的組件,如sitemesh,common-validator,dwr等。而這些都是我們想要的。?
          ?????????有了這個(gè)大的框架,我們可以進(jìn)行業(yè)務(wù)建模了,我們采用的是領(lǐng)域模型驅(qū)動(dòng)的設(shè)計(jì)方案。首先考慮的是對(duì)象以及對(duì)象間的關(guān)聯(lián),我們也沒用什么建模工具和自動(dòng)生成工具,-先自己寫java類,寫好屬性,用eclipse生成get和set。然后手寫hibernate的hbm配置文件,有點(diǎn)土,這也是我第一正式的使用hiber-nate。開始我用了dao模式,寫了好多dao,后來和oofrank討論,一直認(rèn)為hibernate就是我們的持久層,完全沒有必要為了移植性(如將來使-用ibatis)而引入dao。所以拋棄了dao模式,而由一個(gè)fa?ade處理持久。這樣的設(shè)計(jì)跟一般的三層模型略有不同,hibernate就是我們的持久-層,然后通過一個(gè)fa?ade提供對(duì)上層的接口。領(lǐng)域模型和mvc中的c充當(dāng)我們的業(yè)務(wù)層。我們的對(duì)象不是貧血模型,而是有能力的。當(dāng)然現(xiàn)在這種能力更多是對(duì)象-間的關(guān)聯(lián),而對(duì)持久層無能為力,但也已經(jīng)方便了很多。Controller現(xiàn)在具有較多的功能,它能調(diào)領(lǐng)域?qū)ο螅材苤苯邮褂胒a?ade。然后是jsp+js-tl+el做純粹的展現(xiàn)層。C和V的分類原則是這樣的:一類是查看,一類是form提交。所有查看由一個(gè)viewController統(tǒng)一處理(這樣增加了一些-耦合,但效果還可以),一個(gè)對(duì)象的增、刪、改由一個(gè)formController處理。?
          ???????????有了這些設(shè)計(jì)原則,做起來倒是很快,幾天就核心功能出來了。對(duì)于數(shù)據(jù)庫,只要建一個(gè)庫就行,其余的如建表,改表等都由hibernate來自動(dòng)幫你完成,數(shù)據(jù)庫-就是在寫hbm時(shí)關(guān)心下,其它完全對(duì)我們透明,感覺還是挺爽的。?最初版一共就20幾個(gè)類,完成了很多的功能,可以具體看 www.openfans.org
          ???????????下一篇寫怎么使用maven和tomcat,讓openfans在自己機(jī)器上跑起來。先去吃飯了,^_^。大家有任何疑問和好的改進(jìn)意見,都可以提,跟帖。

          posted on 2006-03-28 11:51 pesome 閱讀(1613) 評(píng)論(3)  編輯  收藏 所屬分類: 開源軟件

          評(píng)論

          # re: openfans整體設(shè)計(jì)介紹 2006-03-28 20:22 江南白衣

          haha,fascace的代碼是怎么樣的?  回復(fù)  更多評(píng)論   

          # re: openfans整體設(shè)計(jì)介紹 2006-05-17 11:06 Yanni

          非常不錯(cuò)。
          嚴(yán)重關(guān)注,不過我對(duì)java不熟,對(duì)php比較了解

          有什么需要幫忙的,經(jīng)管提,我也加入groups了  回復(fù)  更多評(píng)論   

          # re: openfans整體設(shè)計(jì)介紹[未登錄] 2008-03-12 20:15 rock

          spring中如何開啟hibernate的自動(dòng)建表功能啊  回復(fù)  更多評(píng)論   

          <2006年3月>
          2627281234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          主要記錄作者在學(xué)習(xí)java中的每一步足跡。除非特別說明,所有文章均為本blog作者原創(chuàng),如需轉(zhuǎn)載請(qǐng)注明出處和原作者,如用于商業(yè)目的,需跟作者本人聯(lián)系。
          歡迎大家訪問:

          常用鏈接

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊(cè)

          收藏夾

          java技術(shù)

          人間百態(tài)

          朋友們的blog

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 积石山| 驻马店市| 沈丘县| 新昌县| 仙居县| 容城县| 泸定县| 本溪| 西丰县| 昌乐县| 黄平县| 九台市| 连江县| 遂川县| 临安市| 明水县| 岳西县| 集贤县| 舞钢市| 崇义县| 太仆寺旗| 阳泉市| 横山县| 汉川市| 湖口县| 东港市| 房产| 正阳县| 霸州市| 株洲县| 星座| 成武县| 中西区| 武冈市| 绵竹市| 唐海县| 乌拉特前旗| 方山县| 辉南县| 湘阴县| 雷州市|