gpt4 book ai didi

rest - 休息应用程序中的观察者设计模式

转载 作者:行者123 更新时间:2023-12-04 22:56:03 25 4
gpt4 key购买 nike

我正在尝试学习设计模式,并且我使用了观察者模式。我想我理解这个概念本身,但我不知道什么时候使用它。

我试着解释一下自己。我主要使用 Web 应用程序,因此,无状态应用程序。通常,客户端从浏览器发出请求(例如,更新一条记录)。则操作完成。

假设我想在每次更新记录时通知一些人。在我看来,Observer patter 的完美场景,但当我想到它时,它会像这样结束:

  • 用户请求更新。
  • 获取所有需要通知的人。
  • 将所有需要通知的人员放入观察者中。
  • 进行更新。 (这也将为观察者模式发出通知)。

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

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

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

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

最佳答案

首先,让我们理清术语。

  • 每个希望收到通知的人都是一个观察者
  • 可以触发通知的每种类型的事件都是一个Observable

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

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

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

关于rest - 休息应用程序中的观察者设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35622481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com