首页 > nodejs的事件回调机制是否属于设计模式中的某一种?

nodejs的事件回调机制是否属于设计模式中的某一种?

属于观察者模式吗?那么谁是观察者?谁是被观察者?


应该是proactor吧?


这叫reactor模式
说到异步IO,其实现在很难实现真正的异步(除非利用硬件的电位来做异步触发),大部分情况下仍然需要阻塞在某个多路复用函数,比如select 或者 epoll 上,等到描述符就绪(比如网卡缓冲区可读写),然后调用注册在相应描述符上的回调函数。这种方式是现在的反应堆设计的基本思路。用Twisted的图可以解释


event-driven 是基于观察者模式

http://www.dofactory.com/javascript/observer-design-pattern

事件handler是观察者,事件源是被观察者

观察者模式的思想是:被观察者维护一系列观察者的列表,并在主题改变时,通知所有观察者
这个通知机制在javascript就是以callback的方式实现,完全符合观察者模式的设计理念

【热门文章】
【热门文章】