Thinking in sky

          --老賀的BLOG

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

          2007年8月20日 #

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

          對(duì)于B/S結(jié)構(gòu)的企業(yè)應(yīng)用軟件來(lái)說(shuō),基本的頁(yè)面不外兩種,一種是填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)開(kāi)發(fā),這里的三層架構(gòu)指的就是Web層、業(yè)務(wù)層和數(shù)據(jù)訪問(wèn)層。采用分層的開(kāi)發(fā)方式有很多好處,下面只簡(jiǎn)單地來(lái)說(shuō)兩點(diǎn):

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

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

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

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

          MVC不就是把M、V、C分開(kāi)么?至唯物樸素的做法是兩個(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)捷開(kāi)發(fā),可用可不用,而且沒(méi)有太多的限制需要學(xué)習(xí)的,比如Webwork這型還可以考慮。但像Struts那樣越用框架越麻煩,或者像Tapestry那樣有嚴(yán)重自閉傾向,額上鑿著"高手專用玩具"的,用在團(tuán)隊(duì)里就是不負(fù)責(zé)任的行為了。

            閱讀全文
          posted @ 2007-08-24 10:23 老賀 閱讀(661) | 評(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ì)被拿出來(lái)討論一遍。

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

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

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

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

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

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

               摘要: 在初始化一個(gè)類,生成一個(gè)實(shí)例的時(shí)候,newInstance()方法和new關(guān)鍵字除了一個(gè)是方 法,一個(gè)是關(guān)鍵字外,最主要有什么區(qū)別?它們的區(qū)別在于創(chuàng)建對(duì)象的方式不一樣,前者是使用類加載機(jī)制,后者是創(chuàng)建一個(gè)新類。那么為什么會(huì)有兩種創(chuàng)建對(duì)象方 式?這主要考慮到軟件的可伸縮、可擴(kuò)展和可重用等軟件設(shè)計(jì)思想。   閱讀全文
          posted @ 2007-08-20 14:18 老賀 閱讀(1849) | 評(píng)論 (1)編輯 收藏

          主站蜘蛛池模板: 合江县| 临夏县| 江城| 怀柔区| 利津县| 惠州市| 富平县| 轮台县| 右玉县| 保定市| 庆云县| 黎川县| 班玛县| 迭部县| 积石山| 贵定县| 邹城市| 弋阳县| 肥乡县| 聂荣县| 太康县| 盘山县| 延安市| 南丹县| 壶关县| 剑河县| 阿城市| 扶风县| 黄浦区| 克东县| 资溪县| 云林县| 南汇区| 漯河市| 蓬溪县| 绵阳市| 始兴县| 大竹县| 梅州市| 抚州市| 塔河县|