我试图理解Observer design pattern作为主要事件调度设计模式。观察者模式似乎是Publish-Subscribe design pattern的类型或类型,我想知道为什么有两个相似的外观设计模式以及我应该如何在两者之间进行选择。
在这两种情况下,信息消息都在实体之间发送,在这两种情况下,实体必须以某种方式注册或订阅才能接收消息。
两种设计模式之间的主要区别似乎是:
我想到的一个想法是,在多线程应用程序中,可以在多个线程之间进行通信而不是Observer模式时使用Publish-Subscribe模式。也许Observer模式可以在进程之间使用,例如进程注册与另一个进程注册,以便在事件发生时得到通知。一个示例是农场管理仪表板应用程序,如果由垃圾箱测量的饲料水平或重量低于某个阈值,则会注册多个动物饲料箱以通知。
这两种设计模式之间是否存在其他重要差异,这些设计模式可以为选择一种模式提供标准?