当前位置:  开发笔记 > 开放平台 > 正文

为什么Observer设计模式通常被描述为一对多?

如何解决《为什么Observer设计模式通常被描述为一对多?》经验,为你挑选了1个好方法。

虽然研究Observer pattern我注意到,该之间的连接SubjectObserver通常是一对多的.为什么这样?为什么多对多关系可能导致任何问题?



1> Dhruv Rai Pu..:

使用Observer设计模式设计的系统用于为受试者提供具有多个观察者的设施,并在受试者的状态改变时通知他们.这是教科书的定义.

让我们看一个真实世界的用例 - 报纸和订阅者.报纸公司向订阅它的人发送报纸.它出版报纸,人们订阅报纸.

根据您的查询,这些订阅者可以订阅许多报纸.所以,它应该是多对多的.如果您认为系统的设计和开发适合所有订阅者和所有报纸,那么看起来就是如此.然后这个订阅者报纸的世界是多对多的.而你是对的.正如上面的评论中所讨论的 - Twitter处理程序有多个订阅者订阅了多个Twitter句柄.它是多对多的.

但后来有一个问题.

实际上要回答你的问题 - 我们需要将发布者 - 订阅者之间的这种多对多关系分解为两部分 - 1.从发布者到订阅者的一对多关系2.从订阅者到发布者的一对多关系

从出版商到订阅者的一对多被一直使用 - 报纸出版商向其订阅者发布报纸,推文出现在粉丝中.

但是,你真的对订阅者与发行者之间的一对多关系有任何用处.我的意思是以他们订阅的多个人和Twitter句柄为例.假设有一个订阅者发推文.这些信息是否与他/她关注的推文句柄相反?没有.Twitter句柄是否知道他们的粉丝发了推文?信息并没有在相反方向上从订户流向出版商,或者,观察者向受试者.然后,如果没有信息从观察者流向主题 - 为什么要为它设计!这是你的答案.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有