跳至内容

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 的商标。

华夏公益教科书