日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Swing應(yīng)用的數(shù)據(jù)驗證

這段時間真是忙得要死,一方面要開發(fā)公司項目的系統(tǒng)框架,要將項目分成不同的子項目,編寫核心代碼;另一方面要將極限編程(XP)引入團隊開發(fā),部署各類 XP需要的服務(wù)例如subversion啦,ant+ivy啦,Hudson啦等等。順便說句題外話,ubuntu還真是不是一般的好用,建議有能力的全部轉(zhuǎn)到ubuntu上去開發(fā)。

我目前開發(fā)的這個框架的客戶端是具肥的客戶端,也就是Swing客戶端了。Swing應(yīng)用相對于Web應(yīng)用有很多優(yōu)勢,因為它更肥。數(shù)據(jù)驗證就是其中一個。當然現(xiàn)在的Web應(yīng)用通過使用Ajax也要比以前強很多了,但是還是避免不了在驗證數(shù)據(jù)時向服務(wù)段發(fā)出請求,至少你無法避免驗證結(jié)果從Web服務(wù)器傳輸?shù)接脩魹g覽器上這段過程。而Swing這類肥客戶端可以實現(xiàn)完全在本地對數(shù)據(jù)進行驗證,甚至可以斷網(wǎng)繼續(xù)工作(這也是Web應(yīng)用目前在研發(fā)的一個重要課題)。

前段時間開發(fā)出了一個可以應(yīng)用于所有Swing應(yīng)用的通用數(shù)據(jù)驗證模塊,發(fā)現(xiàn)它在項目中使用后,對于普通的數(shù)據(jù)驗證,程序員幾乎不需要編碼,效率提高了不少,就寫了一篇博文拿出來和大家分享。原文是用英文寫的。

編寫這個模塊使用了很多不同的開源框架和類庫,其中很重要的一個就是JXLayer.文章寫完后,我就跑去邀請JXLayer的作者Alexp來指點一下,然后就在我的文章后面開始了一段討論,挺有意思的,他不愧為是Swing team里面的牛人??!厲害??!呵呵。

ok,回到今天這篇文章的正題。今天的主要目的是將我的英文博文翻譯成中文(自己的文章,我就不逐字逐句翻譯了,意思到了就行了,可能還會隨興展開一番討論)在這里展示給大家,與大家分享開發(fā)經(jīng)驗,希望大家能夠從中獲益,也希望能夠以文會友,廣交朋友。廢話少說,切入正題。

數(shù)據(jù)驗證(Validation)一直是軟件開發(fā)中非常重要的一環(huán),有了它,你的系統(tǒng)會讓客戶感到更加友善,同時你的系統(tǒng)也得到了一定程度的保護。一般來說,數(shù)據(jù)驗證既可以在客戶端也可以在服務(wù)端。默認的JSF數(shù)據(jù)驗證就是在服務(wù)端,數(shù)據(jù)只能在被提交以后才能夠被驗證,然后把錯誤信息傳遞回用戶的瀏覽器。后來大規(guī)模使用Ajax后,基本可以實現(xiàn)對修改的數(shù)據(jù)“即時”驗證,注意這里是個打了引號的即時,數(shù)據(jù)事實上還是要在瀏覽器和服務(wù)端之間進行傳遞的,只不過Ajax將這種傳遞改為隱式了而已,理論上并沒有真正實現(xiàn)(斷網(wǎng))即時驗證。而在Swing應(yīng)用上就能夠達成這種愿望。

事實上,開發(fā)Swing應(yīng)用時,數(shù)據(jù)驗證一直比較棘手,需要手工編碼的地方太多,效率不高。后來出了JGoodies Validation 結(jié)合JGoodies binding后,好了一些。這個JGoodies Validation既可以實現(xiàn)model層面的驗證,也可以實現(xiàn)Bean層面的驗證,但是多年使用下來,發(fā)現(xiàn)其實它比較適用于中小項目,而且要編寫的代碼其實一點不比自己手動編寫的少。

JGoodies流行了一段時間后,sun開始推出自己的bean綁定方案:beansbinding(JSR 295),我個人感覺要比JGoodies binding好用(JGoodies的作者Karsten也在專家組里,這個人我以前和他一起共事過,我的msn space里面還有跟他的合影,絕對是Swing界的牛人)。這個beansbinding也提供數(shù)據(jù)驗證,但是它的這個數(shù)據(jù)驗證只是在target被改動后,數(shù)據(jù)被同步回source之前才會起作用,使用起來局限性比較大,而且編碼量也不小。

由于目前絕大部分項目是基于POJO的,Hibernate validator已經(jīng)提供了一個很好的數(shù)據(jù)驗證框架,我們完全沒必要再重復發(fā)明輪子,我們應(yīng)該努力站在巨人的肩膀上,這樣我們才能站得更高,看得更遠。于是我考慮結(jié)合beansbinding和Hibernate Validator開發(fā)數(shù)據(jù)驗證。還有一個重要的問題,那就是數(shù)據(jù)錯誤的時候,需要在用戶界面上展示相應(yīng)的信息,例如Error icon和錯誤提示,這部分我考慮使用JXLayer.


標題名稱:Swing應(yīng)用的數(shù)據(jù)驗證
標題鏈接:http://www.5511xx.com/article/coocjei.html