Thinking in sky

          --老賀的BLOG

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            21 隨筆 :: 0 文章 :: 35 評(píng)論 :: 0 Trackbacks

          2007年8月24日 #

               摘要: 人生像個(gè)舞臺(tái),請(qǐng)良家少女離開。
          同樣的,F(xiàn)reemarker和Velocity愛好者請(qǐng)?zhí)^本篇。與棄用webwork而單用Spring MVC Controller接口的理由一樣,F(xiàn)reemarker本來是一樣好東西,還跨界支持jsp 的taglib,而且得到了WebWork的全力支持,但為了它的非標(biāo)準(zhǔn)化,用戶數(shù)量與IDE的缺乏,在View層我們還是使用了保守但人人會(huì)用,IDE友好的JSP2.0 配合JSTL。

          對(duì)于B/S結(jié)構(gòu)的企業(yè)應(yīng)用軟件來說,基本的頁面不外兩種,一種是填Form的,一種是DataGrid 數(shù)據(jù)列表管理的,再配合一些css, js, ajax的效果,就是View層要關(guān)注的東西了。
            閱讀全文
          posted @ 2007-08-24 10:50 老賀 閱讀(678) | 評(píng)論 (2)編輯 收藏

               摘要: 目前的Web Application大多采用流行的基于B/S模式的三層架構(gòu)開發(fā),這里的三層架構(gòu)指的就是Web層、業(yè)務(wù)層和數(shù)據(jù)訪問層。采用分層的開發(fā)方式有很多好處,下面只簡(jiǎn)單地來說兩點(diǎn):

           1:分層開發(fā)使不同的開發(fā)人員關(guān)注他們擅長(zhǎng)的特定層面,有助于開發(fā)優(yōu)質(zhì)的系統(tǒng)。因?yàn)楹苌儆谐绦騿T可以精通從JS,CSS,DHTML到struts再到 hibernate直至最后的數(shù)據(jù)庫(kù)設(shè)計(jì)這一整套開發(fā)流程所要使用到的所有技術(shù)。大家各司其職,全力關(guān)注自己擅長(zhǎng)的層面,這要比一個(gè)人或一個(gè)小組負(fù)責(zé)某一模塊從頁面到最底層的開發(fā)方式要好的多。

           2:.分層分離了邏輯,使得系統(tǒng)結(jié)構(gòu)層次明晰,系統(tǒng)變得靈活和易于維護(hù)。開發(fā)人員應(yīng)該盡量使系統(tǒng)的各層之間保持相對(duì)獨(dú)立的松耦合狀態(tài),這是實(shí)現(xiàn)分層的必要條件,也是構(gòu)建良構(gòu)系統(tǒng)的重要保證。

            閱讀全文
          posted @ 2007-08-24 10:37 老賀 閱讀(2220) | 評(píng)論 (1)編輯 收藏

               摘要: Struts與Webwork的扇子請(qǐng)?zhí)^本篇。

          MVC不就是把M、V、C分開么?至唯物樸素的做法是兩個(gè)JSP一個(gè)負(fù)責(zé)View,一個(gè)負(fù)責(zé)Controller,再加一個(gè)負(fù)責(zé)Model的Java Bean,已經(jīng)可以工作得很好,那時(shí)候一切都很簡(jiǎn)單。
          而現(xiàn)在為了一些不是本質(zhì)的功能,冒出這么多非標(biāo)準(zhǔn)的Web框架,實(shí)在讓人一陣郁悶。像Ruby On Rails那樣簡(jiǎn)捷開發(fā),可用可不用,而且沒有太多的限制需要學(xué)習(xí)的,比如Webwork這型還可以考慮。但像Struts那樣越用框架越麻煩,或者像Tapestry那樣有嚴(yán)重自閉傾向,額上鑿著"高手專用玩具"的,用在團(tuán)隊(duì)里就是不負(fù)責(zé)任的行為了。

            閱讀全文
          posted @ 2007-08-24 10:23 老賀 閱讀(662) | 評(píng)論 (1)編輯 收藏

               摘要: 因?yàn)镾pring自帶的sample離我們的實(shí)際項(xiàng)目很遠(yuǎn),所以官方一點(diǎn)的model層模式展現(xiàn)就靠Appfuse了。

          但Appfuse的model層總共有一個(gè)DAO接口、一個(gè)DAOImpl類、一個(gè)Service接口、一個(gè)ServiceImpl類、一個(gè)DataObject.....大概只有受慣了虐待的人才會(huì)欣然接受吧。
          另外,Domain-Driven逢初一、十五也會(huì)被拿出來討論一遍。

          其實(shí)無論什么模式,都不過是一種人為的劃分、抽象和封裝。只要在團(tuán)隊(duì)里理解一致,自我感覺優(yōu)雅就行了。
          我的建議是,一開始DO和Manager一生一旦包演全場(chǎng),DO作為純數(shù)據(jù)載體,而Manager類放置商業(yè)方法,用 getHibernateTemplate()直接訪問數(shù)據(jù)庫(kù),不強(qiáng)制基于接口編程。當(dāng)某天系統(tǒng)復(fù)雜到你直覺上需要將DAO層和Service層分開時(shí),再分開就好了。
            閱讀全文
          posted @ 2007-08-24 09:58 老賀 閱讀(624) | 評(píng)論 (3)編輯 收藏

               摘要: 人人都愛Spring加Hibernate。
          但Spring MVC+hibernate的Sample如Appfuse的代碼卻算不得最簡(jiǎn)潔優(yōu)美好讀,如果在自己的項(xiàng)目中繼續(xù)發(fā)揮我們最擅長(zhǎng)的依樣畫葫蘆大法,美好愿望未必會(huì)實(shí)現(xiàn)。
          所以,Pramatic精神不滅。這個(gè)系列就是探尋最適合自己的Spring+Hibernate模式。

          I-配置文件簡(jiǎn)化

          我厭倦一切配置文件繁重的框架。
          最好的情況是,框架提供極端靈活復(fù)雜的配置方式,但只在你需要的時(shí)候。

          Spring提供了三種可能來簡(jiǎn)化XML。隨著國(guó)內(nèi)用戶水平的提高,這些基本的簡(jiǎn)化技巧大家都已掌握。

            閱讀全文
          posted @ 2007-08-24 09:54 老賀 閱讀(515) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 山东省| 江阴市| 陈巴尔虎旗| 福鼎市| 义马市| 夏邑县| 吉水县| 繁昌县| 平南县| 台安县| 江源县| 平泉县| 陇川县| 蒙山县| 杨浦区| 汉阴县| 奉贤区| 兴文县| 太谷县| 红安县| 临西县| 水富县| 铁力市| 江津市| 兴隆县| 赤峰市| 星子县| 正阳县| 南郑县| 普安县| 加查县| 观塘区| 大厂| 伊宁县| 周至县| 武宣县| 大丰市| 鹤岗市| 英吉沙县| 永平县| 分宜县|