隨筆-55  評論-72  文章-2  trackbacks-0

                 早打算給wmframework寫一個成長日志啦,可是一直沒時間,也不曉得,我的時間都被用了干什么啦。wmframework是我自己的一個框架,一個自己琢磨出來的,居于j2EE的系統(tǒng)的解決方式。開始籌劃寫wmframework,應(yīng)該是源于2006做深圳做項目開始吧,當(dāng)時從那個項目中,我看到了XML的強(qiáng)大使用?;诖?,讓我花了一些時間去深入了解XML,不敢說深入了解,起碼算是入門級別吧。也是這樣,wmframework數(shù)據(jù)傳輸,我一直僅考慮使用XML封裝的方式。在以后文章中我主要結(jié)合jsp+js+xml+ajax+struct+spring+ibatis來介紹我的wmframework。 

                  還沒介紹wmframework是什么泥,wmframework是我自己創(chuàng)作的一個web系統(tǒng)框架,目前已經(jīng)發(fā)展到2.0版本,w是自己英文名的開頭,m是我生命中另一個人的英文名的開頭(別見笑?。?。wmframework提倡拋棄常規(guī)瀑布式,一站式的開發(fā)模式,提出使用MVC組合流水作業(yè)形式開展代碼的編寫過程。這里沒說清楚,我再解釋下,大伙都知道,我們常規(guī)的軟件代碼編寫,都是將具體的功能模塊分配到項目組成員的頭上,它將完成從前臺的jsp表現(xiàn)頁面繪畫,js輔助腳本的編寫,到后臺action的編寫,model的設(shè)計,orm交換數(shù)據(jù)的實(shí)現(xiàn)。而結(jié)合wmframework框架將改變這樣的編寫流程,程序員不再專注于單個模塊的編寫,而是依據(jù)個人能力的分工協(xié)作。 M_actor 模型執(zhí)行者完成后臺業(yè)務(wù)處理模型,主要就是數(shù)據(jù)交互層Dao,sqlmap的編寫;V_actor 視圖執(zhí)行者完成前臺表單視圖,主要就是jsp,html,js的編寫;C_actor 控制器執(zhí)行者完成action和模型層service的編寫;我前面的博客有相關(guān)MVC組合模式開發(fā)的介紹,有興趣可以去看《用WM framework進(jìn)行MVC團(tuán)隊組合模式的系統(tǒng)開發(fā)》一文。 

                  下面我簡要介紹下wmframework一個業(yè)務(wù)處理的流程。表現(xiàn)層jsp,由html靜態(tài)標(biāo)簽+部分自定義的標(biāo)簽實(shí)現(xiàn),在html靜態(tài)標(biāo)簽中,我添加了幾個自己定義的屬性主要有issave,fieldname,require,datatype.當(dāng)然這樣的屬性是可以自己取名的,因?yàn)閔tml的dom對象本身就支持這樣的功能,你可以在標(biāo)簽中增加自己定義的屬性,通過js對象識別的時候,能主動獲得當(dāng)前屬性的值,這點(diǎn)大伙可以去測試下。jsp展現(xiàn)的完成,下面就是數(shù)據(jù)的校驗(yàn)和數(shù)據(jù)的封裝啦,這里wmframework通過調(diào)用公用的js對象來完成(你僅需要在給靜態(tài)標(biāo)簽中針對剛才的屬性做相應(yīng)的賦值即可),針對一個保存操作你可能僅需要編寫10行的js腳步即可完成數(shù)據(jù)的校驗(yàn)和提交。頁面表單數(shù)據(jù)最終校驗(yàn)通過后,將被封裝在一個XML中,并由XMLHTTPRequest對象發(fā)送到后臺,整個表現(xiàn)層的提交工作宣告結(jié)束;接下來,說action的處理,action獲得當(dāng)前請求后從htttprequest對象中讀取當(dāng)前提交的表單數(shù)據(jù)串,通過XmlMapping對象完成xml字符串到pojo對象的轉(zhuǎn)換,最終交給service的將是用list桶裝的pojo對象,這里之所以用list桶裝,主要是方便一次交付多個相同或不同的數(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)層的初始化和用戶提示操作。整個流程大致就是這樣,給出個簡單的時序圖。


                  其實(shí)從上面的介紹來看,你可能覺得wmframework流程操作很是簡單,這樣的流程是否配得上框架這個稱號,這里我就不進(jìn)行辯護(hù)啦,自我感覺良好下就行,o(∩_∩)o...哈哈。其實(shí)wmframework就是提倡用很簡單的流程來完成模塊的編寫操作,用wmframework完成系統(tǒng)代碼的編寫操作,很多時候,整個系統(tǒng)我們需要的action,service,dao僅需要幾個,同時也拋棄太多javabean的冗余配置,而不是以往的一個模塊對應(yīng)一個action,service,dao體系。簡化action,service,dao編寫過程,最大程度加快了開發(fā)的速度。 
                  這是wmframework的開篇曲,主要還是以大體介紹wmframework的為目的,應(yīng)該說是一個序言更為貼切吧。在以后的文章中我將逐步去介紹wmframework,因wmframework已經(jīng)牽連幾個生產(chǎn)系統(tǒng),故不能開放其源代碼(別介意)。不過源代碼沒太多的用處吧,能了解其設(shè)計思想才是最基本的,畢竟寫代碼都是這點(diǎn)事情都是外人看著復(fù)雜,行人知道簡單的事情嘛,這玩意兒和小學(xué)生寫作文一樣,沒太多的說道,不過其設(shè)計思想就重要啦,因?yàn)槿魏我粋€framework都是基于一個構(gòu)架的設(shè)計來完成的嘛。。。。。。 
                  先寫到這里吧,吃飯去啦。。。。。。。。。

          (注:本人文章均為原創(chuàng),轉(zhuǎn)載請注明出處!20100523寫于深圳。)



          一篇好的文章應(yīng)該如一壇佳釀,未償已久醉于心;或如一壺好茶,品嘗之間回味無窮;或如與心愛的人共進(jìn)晚餐,僅餐秀色足以飽食。我不妄想自己的文章能驚世駭俗,但始終期待有“和旋之音,擊缶之伴”。
          posted on 2010-07-21 21:46 刀光劍影 閱讀(1272) 評論(2)  編輯  收藏

          評論:
          # re: WMframework成長日記(一)——框架介紹 2010-07-21 22:02 | xylz
          頂原創(chuàng)!  回復(fù)  更多評論
            
          # re: WMframework成長日記(一)——框架介紹 2010-07-22 09:15 | 去改變
          作者姓王的可能性較大.另一半嘛,姓馬的可能性比較大,,  回復(fù)  更多評論
            

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 台江县| 墨竹工卡县| 苗栗县| 沙湾县| 旌德县| 屏东县| 广昌县| 林周县| 乌审旗| 南乐县| 普洱| 蚌埠市| 沅江市| 志丹县| 博湖县| 铁岭市| 诸暨市| 屯昌县| 芜湖县| 社旗县| 炎陵县| 临邑县| 清远市| 桐柏县| 南阳市| 高邮市| 敦化市| 梨树县| 襄汾县| 延安市| 湘潭县| 澜沧| 文昌市| 扎兰屯市| 五指山市| 林西县| 霞浦县| 宝鸡市| 斗六市| 忻州市| 兴城市|