跳至內容

WebObjects/Wirehose/個性化

來自 Wikibooks,開放世界中的開放書籍

WireHose 提供建立高效能、可擴充套件個性化應用程式所需的一切。它對使用者、訪客使用者、頻道、全域性頻道和頻道工廠進行建模,幷包含處理快取和將預設設定傳播到各個會話的最佳化實現。

使用者

[編輯 | 編輯原始碼]

WHUser 是所有 WireHose 使用者的父實體。它包含許多用於獲取、排序和過濾使用者頻道的功能。子類可以覆蓋allUserChannels方法以包括未作為基本“頻道”關係一部分進行建模的頻道。使用者可以透過 cookie 自動登入,您可以透過實現WHApplicationHelper的委託方法來覆蓋預設身份驗證和訪客使用者建立行為。

WHChannel 定義了可為單個使用者個性化的內容的介面。WireHose 包含使用WHConcreteChannel作為預設實現的 Xcode 模板,或者您可以透過實現 WHChannel 介面來建立自己的頻道物件。WireHose 還提供了對全域性頻道的支援,這些頻道屬於所有使用者。

頻道工廠

[編輯 | 編輯原始碼]

WHChannelFactory 定義了為單個使用者和全域性頻道建立頻道的物件的介面。頻道工廠還可能提供預設設定,這些設定可以在單個頻道中按例項進行覆蓋。在典型的部署方案中,頻道工廠在應用程式中的所有會話之間共享,因此通常用於快取昂貴獲取的結果。它包含一個靜態內部類,該類提供了介面的預設實現。WireHose 包含 Project Builder 模板,因此可以快速構建新的頻道工廠。

提取器

[編輯 | 編輯原始碼]

WHFetcher 定義了快取和過濾昂貴獲取結果的物件的介面。WHConcreteFetcher 提供了此介面的抽象實現作為頻道。為了獲得最佳效能,提取器頻道將盡可能嘗試使用其工廠的獲取結果,而不是執行自己的獲取結果。WHTagFetcher 是一個提取器,它使用WHTagDataSource來獲取可標記和可索引的物件。WHQualifierFetcher 使用WHQualifierDataSource 透過任意限定符檢索企業物件,使其非常適合建立將查詢個性化為非 WireHose 資料庫的企業資訊頻道。


開始內容經 Gary Teter 許可使用。WireHose 和眼球和箭頭徽標是 Gary Teter 的商標。

華夏公益教科書