素材牛VIP会员
nodejs的事件回调机制是否属于设计模式中的某一种?
 素***2  分类:Node.js  人气:727  回帖:3  发布于6年前 收藏

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

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv5 码农
路***过 CEO 6年前#1

event-driven 是基于观察者模式

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

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

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

Lv1 新人
Sm***ty CEO 6年前#2

应该是proactor吧?

Lv4 码徒
sy***88 软件测试工程师 6年前#3

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

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取