我一直在研究这两个但是找不到任何真正的区别,我错过了什么吗?在网上有人说Observer应该只处理一个事件,而Reactor很多 - 但我不认为这是一个真正的区别,因为Reactor可以像许多Observer一样被看到.有任何区别或更新名称Reactor比Observer更酷吗?
谢谢,卡罗
Flo*_*oky 11
该反应堆模式利用了解复用请求,并分派到正确的处理程序中介服务处理器.
在观察者模式要求"观察员"与主题,然后推通知到所有注册的观察者在事件发生时注册.
重要的区别在于Reactor Pattern处理使用中央请求处理程序的调度,而Observer Pattern允许消费者直接与生产者交谈.
实际上,Observer Pattern可以为动态注册和取消注册消费者提供更大的灵活性.在非常高的并发应用程序中,它还提供了不具有单个中间调度程序瓶颈的吞噬量的好处.在流失的监听器问题也是相关的,当消费者忘记与受注销时,他们不再需要通知发生.在垃圾收集语言中,这通常会阻止GC收集这些事件处理程序,从而泄漏它们以及它们持有的任何引用.这通常不适用于Reactor Pattern,它通常不使用动态注册(尽管理论上可以).