早打算給wmframework寫一個(gè)成長日志啦,可是一直沒時(shí)間,也不曉得,我的時(shí)間都被用了干什么啦。wmframework是我自己的一個(gè)框架,一個(gè)自己琢磨出來的,居于j2EE的系統(tǒng)的解決方式。開始籌劃寫wmframework,應(yīng)該是源于2006做深圳做項(xiàng)目開始吧,當(dāng)時(shí)從那個(gè)項(xiàng)目中,我看到了XML的強(qiáng)大使用。基于此,讓我花了一些時(shí)間去深入了解XML,不敢說深入了解,起碼算是入門級別吧。也是這樣,wmframework數(shù)據(jù)傳輸,我一直僅考慮使用XML封裝的方式。在以后文章中我主要結(jié)合jsp+js+xml+ajax+struct+spring+ibatis來介紹我的wmframework。
還沒介紹wmframework是什么泥,wmframework是我自己創(chuàng)作的一個(gè)web系統(tǒng)框架,目前已經(jīng)發(fā)展到2.0版本,w是自己英文名的開頭,m是我生命中另一個(gè)人的英文名的開頭(別見笑?。mframework提倡拋棄常規(guī)瀑布式,一站式的開發(fā)模式,提出使用MVC組合流水作業(yè)形式開展代碼的編寫過程。這里沒說清楚,我再解釋下,大伙都知道,我們常規(guī)的軟件代碼編寫,都是將具體的功能模塊分配到項(xiàng)目組成員的頭上,它將完成從前臺(tái)的jsp表現(xiàn)頁面繪畫,js輔助腳本的編寫,到后臺(tái)action的編寫,model的設(shè)計(jì),orm交換數(shù)據(jù)的實(shí)現(xiàn)。而結(jié)合wmframework框架將改變這樣的編寫流程,程序員不再專注于單個(gè)模塊的編寫,而是依據(jù)個(gè)人能力的分工協(xié)作。 M_actor 模型執(zhí)行者完成后臺(tái)業(yè)務(wù)處理模型,主要就是數(shù)據(jù)交互層Dao,sqlmap的編寫;V_actor 視圖執(zhí)行者完成前臺(tái)表單視圖,主要就是jsp,html,js的編寫;C_actor 控制器執(zhí)行者完成action和模型層service的編寫;我前面的博客有相關(guān)MVC組合模式開發(fā)的介紹,有興趣可以去看《用WM framework進(jìn)行MVC團(tuán)隊(duì)組合模式的系統(tǒng)開發(fā)》一文。
下面我簡要介紹下wmframework一個(gè)業(yè)務(wù)處理的流程。表現(xiàn)層jsp,由html靜態(tài)標(biāo)簽+部分自定義的標(biāo)簽實(shí)現(xiàn),在html靜態(tài)標(biāo)簽中,我添加了幾個(gè)自己定義的屬性主要有issave,fieldname,require,datatype.當(dāng)然這樣的屬性是可以自己取名的,因?yàn)閔tml的dom對象本身就支持這樣的功能,你可以在標(biāo)簽中增加自己定義的屬性,通過js對象識(shí)別的時(shí)候,能主動(dòng)獲得當(dāng)前屬性的值,這點(diǎn)大伙可以去測試下。jsp展現(xiàn)的完成,下面就是數(shù)據(jù)的校驗(yàn)和數(shù)據(jù)的封裝啦,這里wmframework通過調(diào)用公用的js對象來完成(你僅需要在給靜態(tài)標(biāo)簽中針對剛才的屬性做相應(yīng)的賦值即可),針對一個(gè)保存操作你可能僅需要編寫10行的js腳步即可完成數(shù)據(jù)的校驗(yàn)和提交。頁面表單數(shù)據(jù)最終校驗(yàn)通過后,將被封裝在一個(gè)XML中,并由XMLHTTPRequest對象發(fā)送到后臺(tái),整個(gè)表現(xiàn)層的提交工作宣告結(jié)束;接下來,說action的處理,action獲得當(dāng)前請求后從htttprequest對象中讀取當(dāng)前提交的表單數(shù)據(jù)串,通過XmlMapping對象完成xml字符串到pojo對象的轉(zhuǎn)換,最終交給service的將是用list桶裝的pojo對象,這里之所以用list桶裝,主要是方便一次交付多個(gè)相同或不同的數(shù)據(jù)對象以完成不同的數(shù)據(jù)操作,service對象接收list后,進(jìn)行必要的數(shù)據(jù)校驗(yàn),并交付給dao使用,在dao中拆分當(dāng)前l(fā)ist桶,獲得其pojo對象,并調(diào)用ibatis內(nèi)置API,與數(shù)據(jù)庫通信完成數(shù)據(jù)的處理操作。request請求完成,response響應(yīng)消息的返回,wmframework也是通過xml封裝串來完成的,同樣通過XMLHTTPRequest讀取resposeText/resposeXML獲得響應(yīng)消息,并解析當(dāng)前xml封裝串,來進(jìn)行jsp表現(xiàn)層的初始化和用戶提示操作。整個(gè)流程大致就是這樣,給出個(gè)簡單的時(shí)序圖。

其實(shí)從上面的介紹來看,你可能覺得wmframework流程操作很是簡單,這樣的流程是否配得上框架這個(gè)稱號,這里我就不進(jìn)行辯護(hù)啦,自我感覺良好下就行,o(∩_∩)o...哈哈。其實(shí)wmframework就是提倡用很簡單的流程來完成模塊的編寫操作,用wmframework完成系統(tǒng)代碼的編寫操作,很多時(shí)候,整個(gè)系統(tǒng)我們需要的action,service,dao僅需要幾個(gè),同時(shí)也拋棄太多javabean的冗余配置,而不是以往的一個(gè)模塊對應(yīng)一個(gè)action,service,dao體系。簡化action,service,dao編寫過程,最大程度加快了開發(fā)的速度。
這是wmframework的開篇曲,主要還是以大體介紹wmframework的為目的,應(yīng)該說是一個(gè)序言更為貼切吧。在以后的文章中我將逐步去介紹wmframework,因wmframework已經(jīng)牽連幾個(gè)生產(chǎn)系統(tǒng),故不能開放其源代碼(別介意)。不過源代碼沒太多的用處吧,能了解其設(shè)計(jì)思想才是最基本的,畢竟寫代碼都是這點(diǎn)事情都是外人看著復(fù)雜,行人知道簡單的事情嘛,這玩意兒和小學(xué)生寫作文一樣,沒太多的說道,不過其設(shè)計(jì)思想就重要啦,因?yàn)槿魏我粋€(gè)framework都是基于一個(gè)構(gòu)架的設(shè)計(jì)來完成的嘛。。。。。。
先寫到這里吧,吃飯去啦。。。。。。。。。
(注:本人文章均為原創(chuàng),轉(zhuǎn)載請注明出處!20100523寫于深圳。)
一篇好的文章應(yīng)該如一壇佳釀,未償已久醉于心;或如一壺好茶,品嘗之間回味無窮;或如與心愛的人共進(jìn)晚餐,僅餐秀色足以飽食。我不妄想自己的文章能驚世駭俗,但始終期待有“和旋之音,擊缶之伴”。
posted on 2010-07-21 21:46
刀光劍影 閱讀(1272)
評論(2) 編輯 收藏