検索

ホームページ  >  に質問  >  本文

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

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

PHPzPHPz2787日前658

全員に返信(3)返信します

  • 阿神

    阿神2017-04-17 11:28:49

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

    返事
    0
  • 阿神

    阿神2017-04-17 11:28:49

    event-driven 是基于观察者模式

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

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

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

    返事
    0
  • 黄舟

    黄舟2017-04-17 11:28:49

    应该是proactor吧?

    返事
    0
  • キャンセル返事