首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态应用中的观测器设计模式

静态应用中的观测器设计模式
EN

Stack Overflow用户
提问于 2016-02-25 08:55:14
回答 1查看 1.3K关注 0票数 3

我正在努力学习设计模式,我已经和观察者模式一起来了。我想我理解这个概念本身,但我不知道什么时候该使用它。

我试着解释一下自己。我主要处理web应用程序,所以,无状态应用程序。通常,客户端从浏览器发出请愿书(例如,更新记录)。然后操作完成。

让我们假设每次更新记录时,我都会通知一些人。在我看来,这是观察者模式的完美场景,但当我想到它时,它的结尾会是这样的:

  • 用户提交更新请求。
  • 把所有需要通知的人都找来。
  • 把所有必须通知的人都交给观察员。
  • 更新一下。(这也将发出观察员模式的通知)。

但是..。这样做,我必须迭代所有的人,我想通知两次

而且因为它是一个无状态的应用程序,所以每次我都要得到所有需要通知的人!

我不知道观察者模式对于其他类型的应用程序是否更有用,但是我只能以静态的形式来考虑这个模式,我的意思是,使观察者静态。

我知道我失去了一些东西,这是一个普遍且被接受的模式,每个人都认为它是解决这个具体问题的有效方法。我不明白什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-25 15:32:56

首先,让我们把术语弄清楚。

  • 每一个想得到通知的人都是观察员。
  • 可以触发通知的每一种类型的事件都是可观察的。

每个观察者(个人)都需要在服务器上注册自己。它发送一个请求,本质上说,“我对foo可观测数据感兴趣”,在本例中,就是“我对更新事件感兴趣”。服务器维护对哪些事件感兴趣的人的映射。

每次服务器进行更新时,它都会迭代更新观察者的映射,并向每个观察者发送一个通知。

它的优点是服务器和它的可观测数据在编译时不知道观察者是谁。观察者可以在运行时为他们感兴趣的任何事件注册(和注销)自己。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35622481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档