溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎樣進(jìn)行JSF的思考

發(fā)布時(shí)間:2021-12-14 10:43:40 來(lái)源:億速云 閱讀:88 作者:柒染 欄目:編程語(yǔ)言

本篇文章為大家展示了怎樣進(jìn)行JSF的思考,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

用過(guò)一段時(shí)間的Woodstock,當(dāng)時(shí)感覺(jué)有點(diǎn)爽,但后來(lái)對(duì)于組件的控制方面的不是很好,沒(méi)有在畢業(yè)設(shè)計(jì)上使用. 對(duì)于JSF想到了一些缺點(diǎn),在這里分析一下。只是淺薄見(jiàn)解

1.有狀態(tài)編程模型

JSF把Web編程搞的非常像JAVA SE GUI編程模型。維護(hù)組件樹(shù)、組件狀態(tài)。這讓我感覺(jué)非常不舒服。Web開(kāi)發(fā)就是Web開(kāi)發(fā),本身就是無(wú)狀態(tài)的。所有行為都是基于 request,session,application等范圍。JSF硬要往GUI模型上套,結(jié)果就是非常不自然,有點(diǎn)四不像了。而且JSF維持的僅僅是視圖狀態(tài),而不是數(shù)據(jù)狀態(tài),這種編程模型有點(diǎn)混亂。我認(rèn)為Web就是Web!

2。面向組件開(kāi)發(fā),更加OO

這是在討論去里看到有人這樣為JSF宣傳。我承認(rèn)這句話的陳述是正確的。因?yàn)镴SF把Web編程基本上變成了JAVA SE的GUI編程。確實(shí)是面向組件的。但是通過(guò)使用,我覺(jué)得這種做法的優(yōu)勢(shì)是否真的有那么大,值得考慮。相比JSF,PHP、Rails、 JSP(JSTL)都沒(méi)有刻意提供所謂的組件。這種做法方便了操縱HTML控件,直接、簡(jiǎn)單。而使用JSF控件時(shí),則對(duì)于他的控制能力變得比較模糊并且不夠靈活。我們需要在Backingbean里對(duì)組件進(jìn)行控制。我感覺(jué)--太作做了。而且這種面向組件的方式所代來(lái)的好處遠(yuǎn)不能抵消它所代來(lái)的麻煩。

至于所謂的OO論,表示層的東西有必要刻意強(qiáng)調(diào)像JSF這種面向組件,OO嗎?對(duì)于Widget那種ajax的HTML面向組件我是可以理解的。 PHP/RoR沒(méi)有面向組件但也非常好用。表示層只需要提供一些頁(yè)面的重用和插入功能就足以了。這讓我想起了人們對(duì)JAVA EE過(guò)度分層的抱怨。于Rails形成了鮮明的對(duì)比。所謂的OO在服務(wù)器端、業(yè)務(wù)處理的代碼中有很大用處。但是Web是瘦客戶端(不像Swing)!在 Web的表示層中如此大張旗鼓的宣揚(yáng)JSF式的OO我認(rèn)為是一種誤區(qū)。我們可以看看PHP\Rails這些語(yǔ)言框架,做到MVC,足夠了。Web的表示層需要的最重要的特性就是容易使用、容易控制、容易重用(也面片段)。

JSF那種把HTML和后端弄到一起,模仿Swing,搞OO的做法有點(diǎn)費(fèi)力不討好的感覺(jué)。

上述內(nèi)容就是怎樣進(jìn)行JSF的思考,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

jsf
AI