【问题标题】:Who is the observer and who is the observable?谁是观察者,谁是可观察者?
【发布时间】:2012-02-16 09:13:50
【问题描述】:

在大型模块化应用程序中,如何确定谁是观察者,谁是可观察者?

例如,假设我们有 2 个模块:

  • 博客模块:创建和管理博客文章。
  • 社交媒体模块:读写社交媒体流。

假设我们想要实现一个功能,当用户在“创建博客”发布页面时,如果他启用了社交媒体模块,我们还包括一组处理发布到社交流的字段。

在这种情况下,博客模块还是社交媒体模块应该是观察者?谁应该为社交媒体选项提供表单域?社交媒体模块应该提供完整的小部件还是博客模块应该检测社交媒体模块是否可用,呈现适当的字段,然后将提交的数据传递给社交媒体模块?

【问题讨论】:

    标签: php observer-pattern


    【解决方案1】:

    观察者是当来自其他模块的数据发生变化时想要更新的模块。在您提供的示例中,社交媒体模块是观察者,而博客模块正在被观察。每个社交媒体模块(观察者)都应该向博客注册并传递一个句柄或引用,每当博客更新时都会调用。

    【讨论】:

    • 在大多数 gui API 中都有一个 Draw 方法被调用来更新每个视图。视图是观察者,正在观察领域逻辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 2011-06-09
    • 2016-08-26
    • 2021-04-13
    • 1970-01-01
    相关资源
    最近更新 更多