乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      JavaEE 快速開發(fā)框架 Wabacus 作者訪談

       richsky 2012-08-06
      Wabacus是一個JavaEE快速開發(fā)框架,采用面向聲明的開發(fā)模式,可以不用編程或極少編程即可實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)展示、數(shù)據(jù)編輯、表單處理等功能,將JavaEE的開發(fā)效率提高5倍以上,代碼減少60%以上。 

      為了使大家對Wabacus框架有一個全面的了解,我們采訪了該框架的作者。 

      項目地址:http://code.google.com/p/wabacus 
      論壇地址:http://wabacus./ 

      目前該框架最新穩(wěn)定版本為3.4,你可以通過以下演示地址來了解: 

      演示地址1
      演示地址2
      演示地址3

      如果你在部署和使用Wabacus上有任何問題,可以與作者聯(lián)系(QQ:349446658),或進(jìn)入QQ 群:203873792、94291972、35530847進(jìn)行討論,還可以進(jìn)入Wabacus論壇進(jìn)行提問。


      歡迎大家推薦更多開源項目給我們,支持中國的開源項目發(fā)展,如果您和您的團(tuán)隊希望展示你的創(chuàng)業(yè)理念和有趣之處,或者有朋友在創(chuàng)造這樣的價值,請聯(lián)系我們,發(fā)信到blog@csdn.net即可。


      1、Wabacus是什么? 

      Wabacus是一個JavaEE快速開發(fā)框架,能快速實(shí)現(xiàn)完整的JavaEE功能,包括前臺后臺,因此與常見的框架jQuery、Extjs、Struts、Spring、Hibernate等不同,它們均只提供某一個方面的解決方案,開發(fā)人員必須組合使用它們才能完成JavaEE功能的開發(fā)。 

      另外,Wabacus與國內(nèi)的很多快速開發(fā)平臺也不同,國內(nèi)很多快速開發(fā)平臺只是對常用功能進(jìn)行了一下封裝,或者對簡單基礎(chǔ)代碼進(jìn)行了一下自動生成,并沒有在開發(fā)思想這個層次上有什么改進(jìn),這種改變只能說是“物理變化”,而不是“化學(xué)變化”。 

      Wabacus則是在開發(fā)思想這個層次上進(jìn)行改進(jìn),最大限度將開發(fā)人員從考慮“如何做”中解放出來,只需考慮做什么即可。因此與傳統(tǒng)開發(fā)思想相比,相當(dāng)于發(fā)生了“化學(xué)變化”,能成倍地提高JavaEE開發(fā)效率。

      2、Wabacus所適用的領(lǐng)域,提供了哪些功能? 

      Wabacus是一個JavaEE快速開發(fā)框架,能適用于任意類型的JavaEE項目、產(chǎn)品及應(yīng)用。不過由于前臺展示采用的是JS/CSS/HTML等,因此也只適用于B/S結(jié)構(gòu)的JavaEE項目,對于采用AWT/SWT等進(jìn)行前臺展示的C/S結(jié)構(gòu)的項目則不適用。 

      Wabacus框架不僅從開發(fā)思想層面給開發(fā)人員帶來了很大的好處,讓他們盡量從“如何做”中解放出來,而且對常用且很多是很復(fù)雜的功能提供了良好的支持,讓開發(fā)人員要開發(fā)這些功能時變得非常容易,只需簡單聲明即可,例如: 

      列過濾、列選擇、凍結(jié)行列標(biāo)題的報表、輸入聯(lián)想、文件上傳/下載、行/列分組報表、樹形表格、數(shù)據(jù)導(dǎo)入/導(dǎo)出、數(shù)據(jù)打印、交叉統(tǒng)計報表、主從報表、行排序等。 

      當(dāng)然,Wabacus框架給開發(fā)人員帶來的好處主要還是開發(fā)思想方面的根本改進(jìn),這個才是主要的,帶來的好處也是巨大的。

      3、開發(fā)這個框架的初衷,它與其它框架相比有什么優(yōu)勢? 

      本人從事JavaEE開發(fā)與架構(gòu)將近9年的時間,后面大部分時間是負(fù)責(zé)公司各類項目、產(chǎn)品方面的架構(gòu)設(shè)計,在這方面積累了較為豐富的經(jīng)驗,這個框架的思想也是多年架構(gòu)經(jīng)驗的積累,用過在很多項目和產(chǎn)品中,取得了非常好的效果,凡是本人用這個思想設(shè)計的架構(gòu),在前期開發(fā)和后期維護(hù)方面都非常方便,新進(jìn)來的開發(fā)人員能快速上手,后期的各種維護(hù)改造工作也很容易。 

      印象比較深的就是用這個思想開發(fā)的一個大型網(wǎng)站項目,在開發(fā)時,幾個開發(fā)人員快速地配置了幾百個數(shù)據(jù)展示功能,在后期維護(hù)差不多每年一次的改版中,這幾百個數(shù)據(jù)展示功能也是最容易和方便改的,只要改幾個JS/CSS文件以及少數(shù)的幾個系統(tǒng)級配置文件就可以對它們的顯示效果、顯示結(jié)構(gòu)進(jìn)行整體調(diào)整。因此在項目組和客戶方面都反映非常好。 

      正是基于這些項目、產(chǎn)品的成功實(shí)施經(jīng)驗,本人決定將這個思想轉(zhuǎn)化為一個成熟的框架,讓更多朋友受益,也改變一下國內(nèi)開源框架原創(chuàng)性比較少的局面(比如國外搞IOC、AOP、O/R Mapping等方面的框架,國內(nèi)很多朋友也是照著這些思想搞這些方面的框架,只是實(shí)現(xiàn)方式上進(jìn)行一些改變,沒有提出原創(chuàng)性的思想)。 


      關(guān)于和其它框架的比較,我認(rèn)為Wabacus最大的優(yōu)勢就是開發(fā)思想的改進(jìn),將開發(fā)人員由傳統(tǒng)的“面向過程”、“面向?qū)ο蟆彼枷胫修D(zhuǎn)入更容易、更高效的“面向聲明”的思想中,大幅提高開發(fā)效率和降低開發(fā)復(fù)雜度。

      4、代碼減少60%,開發(fā)效率提升5倍以上,是如何實(shí)現(xiàn)的? 

      首先說明一下,這里說的“60%”、“5倍”都是一個概數(shù),不是一個精確值,因為開發(fā)效率不能像性能一樣,能通過工具準(zhǔn)確定量測試,就好比問“交流時說話比打字快多少倍?”一樣,我們也不能給出一個精確數(shù),因為打字有快有慢,說話的語速也有快有慢,沒辦法精確說一定快多少倍,但我們知道整體上要快好幾倍。 

      wabacus為什么能大幅減少代碼量,成倍提高開發(fā)效率呢?原因就是它采用“面向聲明”的開發(fā)思想,我們來介紹一下什么是“面向聲明”的開發(fā)思想: 

      所謂“聲明”,就是只要把要做的功能說出來,而不需開發(fā)人員考慮如何實(shí)現(xiàn),具體如何實(shí)現(xiàn)交給Wabacus來完成,就好比“視頻聊天”,只要把字說出來,而不需考慮如何寫出這些字,就能表達(dá)自己的意思,因此比“寫字聊天”、“打字聊天”的方式都要快很多倍,因為后兩種方式都要考慮將字實(shí)現(xiàn)出來才能表達(dá)自己的意思,而傳統(tǒng)的開發(fā)思想就好比“寫字聊天”或“打字聊天”,要開發(fā)人員編寫大量的代碼將“字”實(shí)現(xiàn)出來。 

      使用wabacus開發(fā),不僅大幅提高了開發(fā)效率,而且對開發(fā)人員的要求也比較低,因為不太需要關(guān)注實(shí)現(xiàn),只需聲明,就好比“視頻聊天”一樣,不需考慮將字寫出來,因此文盲都能順利地交流。 

      其實(shí)面向聲明的開發(fā)思想也不是Wabacus獨(dú)創(chuàng),在很多框架中都有使用,而且都取得非常不錯的效果。比如Spring,就是將對象的依賴關(guān)系做成可聲明,提高對象依賴的靈活性和可維護(hù)性;再比如EJB或Spring,提供聲明性事務(wù),提高了事務(wù)控制的靈活性,減低了開發(fā)難度等等。但是它們只是著眼某一個方面,做的不夠徹底,帶來的改善是局部的。而Wabacus框架在更大的范圍提供了聲明性編程,盡量將用戶的整體開發(fā)效率提到最高,所以它對JavaEE開發(fā)帶來的好處是立體的,全方位的。

      5、Wabacus擴(kuò)展性如何? 

      Wabacus做為一個框架,需要滿足各種復(fù)雜的場合,因此非常注重可擴(kuò)展性,也提供了非常靈活的擴(kuò)展接口,大體體現(xiàn)在如下方面: 

      • 允許開發(fā)人員新增容器類型、報表/表單類型、數(shù)據(jù)類型、輸入框類型,數(shù)據(jù)源類型等等,并允許用戶在新增這些類型時,在配置文件中為這些類型新增自己的配置屬性和配置標(biāo)簽。
      • 允許開發(fā)人員在攔截器的各攔截方法中控制報表/表單各個生命周期的行為,比如控制加載、保存的數(shù)據(jù),阻止保存操作或者自己完成保存操作等等。
      • 允許開發(fā)人員在靜態(tài)模板、動態(tài)模板中控制報表/表單的顯示,并且可以在其中自己定制輸入框。
      Wabacus靈活的可擴(kuò)展性源于它優(yōu)雅的面向?qū)ο笤O(shè)計,看過Wabacus源碼的,即使只看懂了一部分的朋友,都會對Wabacus的巧妙設(shè)計有著很深的印象。曾經(jīng)有一個8年JavaEE開發(fā)經(jīng)驗的架構(gòu)師,在研究Wabacus源碼超過2個多月后對此有過高度評價。

      6、Wabacus能否與其它框架共存在同一個項目中,比如在已有項目中加入Wabacus框架快速開發(fā)新功能? 

      Wabacus前臺采用的是標(biāo)準(zhǔn)JS/CSS/HTML,后臺采用的是標(biāo)準(zhǔn)Java實(shí)現(xiàn),都沒有用到其它框架,從它依賴的第三方j(luò)ar包中可以看到,除了數(shù)據(jù)庫驅(qū)動包,只有少數(shù)幾個第三方組件,因此不會與任何現(xiàn)有的框架有沖突,可以與它們(比如常用的SSH、SSI等)共存在一個項目中。 

      現(xiàn)在使用框架的朋友中,有很大一部分都是在老項目中用Wabacus開發(fā)新功能,而之前用其它框架開發(fā)的功能要么保持不變,要么逐步遷移,運(yùn)行時互不影響。 

      根據(jù)本人這么久的技術(shù)支持經(jīng)驗,很多朋友在用了Wabacus以后,雖然項目中可能還有其它框架,但有了新需求,第一時間想到的就是如何用Wabacus來實(shí)現(xiàn),盡量避開其它框架,因為相比其它框架,Wabacus的開發(fā)效率高太多,只有當(dāng)使用Wabacus不方便實(shí)現(xiàn)的時候,才會用其它框架開發(fā)。

      7、Wabacus支持哪些數(shù)據(jù)庫類型? 

      Wabacus內(nèi)置了對SQL Server、Oracle、MySQL、DB2四種常用數(shù)據(jù)庫的支持,每個數(shù)據(jù)庫類型對應(yīng)一個Provider類,比如Oracle數(shù)據(jù)庫的Provider類為:com.wabacus.config.database.type.Oracle,MySQL的Provider類為:com.wabacus.config.database.type.MySql等等,如果要新增對其它數(shù)據(jù)庫的支持,只要參照內(nèi)置的數(shù)據(jù)庫類型提供一個相應(yīng)的Provider類即可。

      8、早期沒有完全開放源碼,是什么原因? 

      Wabacus的源代碼開放是逐步的,在早期,只公開了80%左右的Java源碼,后面又開放了99%的源碼,現(xiàn)在已經(jīng)將所有Java源代碼開放了。 

      早期沒有開放所有源碼是沒有對所有朋友開放源碼,但對正在使用框架的朋友還是開放了他們想修改的任意源碼,也就是說他們想修改的源碼如果沒有在公開的80%或99%之中,他們是可以向我要的,我會發(fā)給他們,并教他們?nèi)绾胃?。這樣做的目的有兩個:第一、鼓勵大家使用框架;第二:早期版本不夠穩(wěn)定,我有可能會進(jìn)行比較大的重構(gòu),因此如果讓他們修改了太多源碼的話,以后升級會非常困難。 

      不過現(xiàn)在Wabacus架構(gòu)已經(jīng)非常成熟,所有Java源代碼都已經(jīng)公開了。

      9、你所知道的有哪些項目使用了該框架? 

      因為一般項目用了什么框架都是一個保密的內(nèi)容,很多朋友不愿公開,尤其是外網(wǎng)能訪問到的網(wǎng)站之類的項目更是這樣,包括我自己用Wabacus的思想開發(fā)的大型門戶網(wǎng)站,也不愿意公開說出是哪一家,所以很多使用Wabacus的用戶我也不知道他們的項目名字,這里我列出一些愿意公開的項目: 

      • 金昶網(wǎng)絡(luò)科技電信增值業(yè)務(wù)平臺
      • 哈爾濱市文化和新聞出版局辦公系統(tǒng)
      • 實(shí)聯(lián)化工業(yè)務(wù)支撐系統(tǒng)
      • 愛爾英語辦公系統(tǒng)
      • 威海市公安信通部門辦公系統(tǒng)
      • 江蘇無錫某銀行營業(yè)網(wǎng)點(diǎn)業(yè)務(wù)支持系統(tǒng)、資金流監(jiān)控系統(tǒng)
      • 哈爾濱工程大學(xué)綜合評教系統(tǒng)
      其他更多的項目可以從Wabacus的論壇上通過別人的提問看得到,不過那里只是一部分用戶的發(fā)貼,還有很多是私下找我咨詢,沒有在論壇上發(fā)貼。

      10、用戶如何提交bug、參與貢獻(xiàn)? 

      目前用戶如果在使用過程中發(fā)現(xiàn)BUG,或者有需要改進(jìn)的地方,都是通過在QQ或QQ群中聯(lián)系我,然后我登記下來,盡早解決。此外,還可以通過在Wabacus論壇中登記BUG。 

      目前用戶參與貢獻(xiàn)都是進(jìn)行比較外圍的工作,比如錄制視頻、對新手進(jìn)行技術(shù)支持、制作新的主題風(fēng)格、提供DEMO演示服務(wù)器和論壇服務(wù)器、進(jìn)行捐助等等,在框架開發(fā)上的貢獻(xiàn)較少。 

      如果有朋友希望參與Wabacus框架的開發(fā),可以開發(fā)IDE工具之類的,Wabacus的核心還是不希望太多人經(jīng)手,擔(dān)心搞亂,畢竟框架代碼比較復(fù)雜。

      11、作者簡介 

      本人2003年畢業(yè),一直從事JavaEE方面的開發(fā)與架構(gòu),開發(fā)的項目涉及銀行、政府、企業(yè)、證券等行業(yè)。對Java底層知識、面向?qū)ο蟮脑O(shè)計、可復(fù)用軟件的設(shè)計非常感興趣。 

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多