18岁禁看视频免费,wwwxxxx在,欧美午夜福利影片,日本护士xxxx

廣州為學(xué)教育科技有限公司

主營(yíng):JAVA開發(fā),軟件工程師,教育培訓(xùn)

免費(fèi)店鋪在線升級(jí)

聯(lián)系方式
  • 公司: 廣州為學(xué)教育科技有限公司
  • 地址: 廣州天河區(qū)車陂灃宏大廈3樓
  • 聯(lián)系: 謝老師
  • 手機(jī): 13632401219
  • 一鍵開店

深入剖析 JSF 模式二

2018-12-23 04:49:00  1325 次瀏覽

接下來我們繼續(xù)來討論 JSF 體系結(jié)構(gòu)中的各種設(shè)計(jì)模式。本文將詳細(xì)討論Composite、Template Method 和 Observer 設(shè)計(jì)模式。我將分析每種模式的用途及其在 JSF 框架中的作用。

timg.jpgComposite 模式

Composite 模式讓客戶代碼能夠統(tǒng)一處理復(fù)合對(duì)象和基本對(duì)象。復(fù)合對(duì)象是基本對(duì)象的容器。在階段(Restore View 階段)和后一個(gè)階段(Render Response 階段),使用 JSF UI 組件構(gòu)造 UI View。UIComponentBase 就是 Composite 模式中 Component 抽象類的一個(gè)例子。UIViewRoot 是 Composite 類,而 UIOutput(比方說)就是葉子(或者基本類)。UIComponentBase 類定義了葉子和復(fù)合對(duì)象的公共方法,如編碼/解碼值和子節(jié)點(diǎn)管理函數(shù)。子節(jié)點(diǎn)管理函數(shù),如 getChildren,對(duì)于葉子節(jié)點(diǎn)返回空列表,對(duì)于復(fù)合節(jié)點(diǎn)則返回其子節(jié)點(diǎn)。

Template Method 模式

Template Method 模式的目的是將變化的步驟推遲到子類中,而在父類中定義那些固定的算法步驟。JSF 框架通過 PhraseListeners 展現(xiàn)了 Template Method 模式提供的功能。采用 Template Method(或者 “hook”)使得 Web 作者可以為不同階段之間的可選步驟提供實(shí)現(xiàn),而主要階段仍然和 JSF 框架的定義一致。JSF 框架提供了 PhaseListeners,概念上類似于 Template Method 模式中的可變步驟。JSF 框架有六個(gè)預(yù)定義的階段,在每個(gè)階段之間,Web 作者可以實(shí)現(xiàn) PhaseListeners 來提供類似于 Template Method hook 的 hook。事實(shí)上,這種結(jié)構(gòu)比 Template Method 模式更具有擴(kuò)展性??梢酝ㄟ^注冊(cè) PhraseId 為 ANY_PHRASE 的 PhaseListener 在每個(gè)階段后提供 hook。如果 PhaseId 是 ANY_PHASE,JSF 實(shí)現(xiàn)就會(huì)在每個(gè)階段之前和之后調(diào)用該 PhaseListener。JSF 框架中的實(shí)現(xiàn)略有不同,因?yàn)榭梢愿緵]有 PhaseListener,但是在 Template Method 模式中,子類通常重新定義父類中抽象的可變步驟。

Observer 模式

Observer 模式的目的是當(dāng)目標(biāo)對(duì)象的狀態(tài)改變時(shí)自動(dòng)通知所有依賴的對(duì)象(即觀察器)。JSF 在 UI 組件中實(shí)現(xiàn)了 Observer 模式。JSF 有兩類內(nèi)建事件:ActionEvent 和 ValueChangedEvent。ActionEvent 用于確定用戶界面組件(如按鈕)的。當(dāng)用戶單擊按鈕時(shí),JSF 實(shí)現(xiàn)通知添加到該按鈕上的一個(gè)或多個(gè)動(dòng)作程序。于是該按鈕被,或者說按鈕(主體)的狀態(tài)改變了。添加到按鈕上的所有程序(即觀察器)都收到通知該主體狀態(tài)已經(jīng)改變。類似的,當(dāng)輸入 UI 組件中的值改變時(shí),JSF 實(shí)現(xiàn)通知 ValueChangeListener。

網(wǎng)友評(píng)論
0條評(píng)論 0人參與
最新評(píng)論
  • 暫無評(píng)論,沙發(fā)等著你!
百業(yè)店鋪 更多 >

特別提醒:本頁面所展現(xiàn)的公司、產(chǎn)品及其它相關(guān)信息,均由用戶自行發(fā)布。
購買相關(guān)產(chǎn)品時(shí)務(wù)必先行確認(rèn)商家資質(zhì)、產(chǎn)品質(zhì)量以及比較產(chǎn)品價(jià)格,慎重作出個(gè)人的獨(dú)立判斷,謹(jǐn)防欺詐行為。

回到頂部