WMframework成长日记(一)——框架介绍
????????早打算給wmframework寫一個成長日志啦,可是一直沒時間,也不曉得,我的時間都被用了干什么啦。wmframework是我自己的一個框架,一個自己琢磨出來的,居于j2EE的系統(tǒng)的解決方式。開始籌劃寫wmframework,應該是源于2006做深圳做項目開始吧,當時從那個項目中,我看到了XML的強大使用。基于此,讓我花了一些時間去深入了解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的設計,orm交換數(shù)據(jù)的實現(xiàn)。而結(jié)合wmframework框架將改變這樣的編寫流程,程序員不再專注于單個模塊的編寫,而是依據(jù)個人能力的分工協(xié)作。 M_actor 模型執(zhí)行者完成后臺業(yè)務處理模型,主要就是數(shù)據(jù)交互層Dao,sqlmap的編寫;V_actor 視圖執(zhí)行者完成前臺表單視圖,主要就是jsp,html,js的編寫;C_actor 控制器執(zhí)行者完成action和模型層service的編寫;我前面的博客有相關MVC組合模式開發(fā)的介紹,有興趣可以去看《用WM framework進行MVC團隊組合模式的系統(tǒng)開發(fā)》一文。?
????????下面我簡要介紹下wmframework一個業(yè)務處理的流程。表現(xiàn)層jsp,由html靜態(tài)標簽+部分自定義的標簽實現(xiàn),在html靜態(tài)標簽中,我添加了幾個自己定義的屬性主要有issave,fieldname,require,datatype.當然這樣的屬性是可以自己取名的,因為html的dom對象本身就支持這樣的功能,你可以在標簽中增加自己定義的屬性,通過js對象識別的時候,能主動獲得當前屬性的值,這點大伙可以去測試下。jsp展現(xiàn)的完成,下面就是數(shù)據(jù)的校驗和數(shù)據(jù)的封裝啦,這里wmframework通過調(diào)用公用的js對象來完成(你僅需要在給靜態(tài)標簽中針對剛才的屬性做相應的賦值即可),針對一個保存操作你可能僅需要編寫10行的js腳步即可完成數(shù)據(jù)的校驗和提交。頁面表單數(shù)據(jù)最終校驗通過后,將被封裝在一個XML中,并由XMLHTTPRequest對象發(fā)送到后臺,整個表現(xiàn)層的提交工作宣告結(jié)束;接下來,說action的處理,action獲得當前請求后從htttprequest對象中讀取當前提交的表單數(shù)據(jù)串,通過XmlMapping對象完成xml字符串到pojo對象的轉(zhuǎn)換,最終交給service的將是用list桶裝的pojo對象,這里之所以用list桶裝,主要是方便一次交付多個相同或不同的數(shù)據(jù)對象以完成不同的數(shù)據(jù)操作,service對象接收list后,進行必要的數(shù)據(jù)校驗,并交付給dao使用,在dao中拆分當前l(fā)ist桶,獲得其pojo對象,并調(diào)用ibatis內(nèi)置API,與數(shù)據(jù)庫通信完成數(shù)據(jù)的處理操作。request請求完成,response響應消息的返回,wmframework也是通過xml封裝串來完成的,同樣通過XMLHTTPRequest讀取resposeText/resposeXML獲得響應消息,并解析當前xml封裝串,來進行jsp表現(xiàn)層的初始化和用戶提示操作。整個流程大致就是這樣,給出個簡單的時序圖。
????????其實從上面的介紹來看,你可能覺得wmframework流程操作很是簡單,這樣的流程是否配得上框架這個稱號,這里我就不進行辯護啦,自我感覺良好下就行,o(∩_∩)o...哈哈。其實wmframework就是提倡用很簡單的流程來完成模塊的編寫操作,用wmframework完成系統(tǒng)代碼的編寫操作,很多時候,整個系統(tǒng)我們需要的action,service,dao僅需要幾個,同時也拋棄太多javabean的冗余配置,而不是以往的一個模塊對應一個action,service,dao體系。簡化action,service,dao編寫過程,最大程度加快了開發(fā)的速度。?
????????這是wmframework的開篇曲,主要還是以大體介紹wmframework的為目的,應該說是一個序言更為貼切吧。在以后的文章中我將逐步去介紹wmframework,因wmframework已經(jīng)牽連幾個生產(chǎn)系統(tǒng),故不能開放其源代碼(別介意)。不過源代碼沒太多的用處吧,能了解其設計思想才是最基本的,畢竟寫代碼都是這點事情都是外人看著復雜,行人知道簡單的事情嘛,這玩意兒和小學生寫作文一樣,沒太多的說道,不過其設計思想就重要啦,因為任何一個framework都是基于一個構(gòu)架的設計來完成的嘛。。。。。。?
????????先寫到這里吧,吃飯去啦。。。。。。。。。
轉(zhuǎn)載于:https://www.cnblogs.com/warison2008/archive/2010/07/21/1782520.html
總結(jié)
以上是生活随笔為你收集整理的WMframework成长日记(一)——框架介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java多态性详解——父类引用子类对象
- 下一篇: .net技术注意