設計java

          j2ee輕量級框架,IMVC,IORM && web網絡游戲

          IMVC--j2ee輕量級MVC框架介紹

              InstantMVC是我最近開發的一個j2ee輕量級MVC框架,寫這個框架前剛好做完一個webwork+spring+InstantORM的項 目,對于開發過程中的一些不舒服的地方,就像要改進著試試寫一個框架,于是就開始寫了,寫這個框架的沖動主要有以下幾點:
              1.討厭的action配置,無論是strtus還是webwork,都有一大堆的action配置文件,strtus加上bean就更多,如果 webwork配合spring,那么一個action就要配置一個spring Bean,一個webwork action映射,隨著項目的擴大,后來實在是讓人有些受不了,再則,隨著項目的擴大,action數目的增加,每次改動重新啟動服務器的時間浪費就更 大,所以項目越來越大,感覺越來越痛苦,雖然配置型的action,對于項目的移植有一定的好處,但是一般的項目是很少回過頭去修改action映射,就 算修改,在java文件中修改也是可以接受的。

              2.關于驗證,struts和webwork的驗證都是基于xml配置的,就我個人而言,是比較討厭xml配置這個東西的,所以我一直用不慣他們的驗證框 架,而且一旦用到驗證框架,必須用到UI組件,在webwork中用freemarker作為模板的時候,UI組件是比較費資源的(可能成為潛在的性能瓶 頸),如果有一個不用UI組件而且外面封裝客戶端和服務器端驗證的MVC框架,我想會比較爽。

              3.關于view,我比較喜歡springMVC中的那種直接在action中return的形式,webwork和struts的配置方式我也很不喜歡。

              4.應該是性能考慮,webwork的action非單利可能導致性能問題(雖然沒有被充分證明),struts2也走了這條路。

              基于這些考慮,我打算開發自己的MVC框架,而且現在已經小有所成,基本功能已經完成,下面簡單講下InstantMVC框架的主要特征
              1.零配置,零配置不是說沒有配置,而是說不用配置action和result view,整個mvc框架只有一個整體的配置文件,所有映射關系都是通過默認規則來建立的。

              2.類似action/form 形式,這里說是類似,因為InstantMVC可以配置讓get方法是否支持form,也就是get方法可以不用form,直接通過一個Map獲得請求參 數,也可以配置get填充form形式,InstantMVC的action可以配置為是單利或者非單利,不過一般在action中不推薦存放非線程安全 的變量,所以建議配置為單利。

              3.action中兩個參數一個是Form的Object,一個是Map,容易單元測試,不需要引入Servlet部件,但是對于一些session等操 作可以通過InstantContext獲得HttpSerlvetrequest操作,可以說InstantMVC對于容器無關性是介于webwork 和struts之間的。

              4.最簡單的驗證集成方式,所有驗證代碼寫到action中,在view中不用配置UI組件,支持客戶端和服務器端雙重驗證,可以單獨開啟一方關閉一方。

              5.ajax View的集成,這里的集成不像dwr那樣完全集成,而是一種半集成方式,客戶端用到ajax框架還是需要用戶自己選擇,這樣提供了很大的靈活性。 InstantMVC的View有好幾種形式,比如挑戰到另一個action的view,直接返回的view,ajax的view等, InstantMVC的ajax是和普通的action一樣的,只不過返回一個ajax的View就成了ajax了。ajax的view可以返回任何對象 的json。在客戶端很方便的獲得,這一點有點像dwr的返回結果,不過dwr需要配置,InstantMVC不用。而且我們可以設置開啟ajax的安全 驗證,開啟后將不允許其他域方法ajax的action。

              6.支持AOP攔截器,模仿webwork那樣,可以自定義攔截器。

              7.集成了上傳組件,和驗證一樣,可以在action中配置。

              大概就是這些特性,這些特性都很讓我著迷?,F在這些特性基本上都能工作,不過穩定性兼容性方面還有待提升,同時還需要大量的性能方面考慮(雖然現在的性能比其他MVC只會高不會低)。今天剛把blog搬到這里來,以后這里會主要寫關于我的框架的一些問題等。


          --InstantMVC:j2ee輕量級mvc框架

          posted on 2008-06-10 16:24 剎那 閱讀(2834) 評論(4)  編輯  收藏 所屬分類: 我的j2ee輕量級框架

          Feedback

          # re: IMVC--j2ee輕量級MVC框架介紹 2008-06-11 12:57 jeasonzhao

          我的神啊,總算找著知音了  回復  更多評論   

          # re: IMVC--j2ee輕量級MVC框架介紹 2008-06-11 18:30 剎那

          @jeasonzhao
          呵呵。。兄弟過獎了  回復  更多評論   

          # re: IMVC--j2ee輕量級MVC框架介紹 2011-07-31 19:10 inhv

          老兄, 你的 MVC jar 包呢? 我想用用試試。 inhv@163.com  回復  更多評論   

          # re: IMVC--j2ee輕量級MVC框架介紹 2012-03-25 21:47 heymans

          老兄,求你的mvc ~~~~~ heyange2002@163.com  回復  更多評論   


          主站蜘蛛池模板: 崇明县| 崇州市| 将乐县| 海盐县| 铜川市| 蒲城县| 南和县| 淳化县| 疏勒县| 海晏县| 托里县| 濮阳县| 绥滨县| 蓬溪县| 阳朔县| 筠连县| 凉城县| 沽源县| 个旧市| 宁南县| 孝义市| 利川市| 治多县| 乳山市| 昌平区| 齐河县| 汤阴县| 马龙县| 屯门区| 河北区| 肃宁县| 宝应县| 湘阴县| 汨罗市| 无棣县| 奉化市| 锡林郭勒盟| 沙雅县| 平南县| 扬州市| 庆城县|