国产高清在线精品一区a_免费一级淫片aa_一级特黄录像播放_日本中文免费嗨片直播网

廣州為學教育科技有限公司

主營:JAVA開發(fā),軟件工程師,教育培訓

免費店鋪在線升級

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

深入剖析 JSF 模式二

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

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

timg.jpgComposite 模式

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

Template Method 模式

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

Observer 模式

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

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

特別提醒:本頁面所展現的公司、產品及其它相關信息,均由用戶自行發(fā)布。
購買相關產品時務必先行確認商家資質、產品質量以及比較產品價格,慎重作出個人的獨立判斷,謹防欺詐行為。

回到頂部