在简单易懂的英语中介绍 Broker 架构模式

33

有人能用通俗易懂的语言为我解释Broker模式吗?最好结合Java或现实生活中的类比来解释。


1
不确定。可能是因为投票者认为这属于“没有展示研究努力”或“过于宽泛”的类别之一。一些旧的问题与此类似,但现在大多数问题通常都表明了当前的(误解),并/或指出了他们感到困惑的地方;否则通常被认为是太宽泛了。然而,据我所知,这个问题以前从未被问过,我个人认为它对这个网站的知识库做出了贡献,所以(正如3个赞和好答案所证明的那样),它似乎是可以接受的。+1 - Paul Richter
2
我理解你的意思。我本可以一开始就包含我所做的研究,但我想让问题保持简单。很多时候当我在stackoverflow上找到问题时,问题本身非常长,而实际问题则包含在标题中,很多时候标题和被接受的答案完全独立于长的问题文本。也许我想太多了。毕竟,我作为贡献者的经验非常有限:) 谢谢你的有用建议! - habitats
2
是的,我的回答有时会冗长(虽然有时需要)。尽管问题标题有时会提供你回答问题所需的大部分信息,但问题描述为你提供了上下文。在你的情况下,没有真正的“背景”(除非有),因为你是从一个普遍的“我不知道”的角度来问问题的,这很好。我看到你的问题已经被踩了两次,所以也许下次我建议你简要描述一下你目前理解的内容和/或你不理解的部分。祝你好运! - Paul Richter
1个回答

52

尝试想象10个人有他们需要传递的消息。 另外10人都在等待来自前一组的消息。 在开放的环境中,第一组中的每个人都必须手动将其消息交付给接收者,因此每个人都必须至少拜访第二组的一个成员。这是低效和混乱的。

在代理中,有一个控制类(在本例中是邮递员),它接收来自第一组的所有消息。 然后代理根据目的地组织信息并执行任何所需操作,然后只需一次拜访每个接收者即可向他们交付所有消息。这更加高效。

在软件设计中,这使得远程和异构类之间可以轻松通信。控制类具有接口,所有传入消息都可以与之交互,以便发送和正确解释各种消息。请记住,这对于较大系统而言不太可扩展,因此失去了有效性。

希望这可以帮到你!


15
太好了!所以当每一侧的“人群”过多时,经纪人很快就成为瓶颈了?有点像一个城市只有一个邮递员。 - habitats
15
没错!但你可以看到邮递员在小团体中的工作效果如何。软件架构就是要了解你的需求。 - Adam Yost

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接