欢迎来到 斤斗云学堂 | HTML5技术问答区 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。

a.对象A直接调用对象B的某个方法,实现交互逻辑。但是导致的问题是A和B紧密耦合,修改B可能导致A调用B的方法失效。

0 投票

a.对象A直接调用对象B的某个方法,实现交互逻辑。但是导致的问题是A和B紧密耦合,修改B可能导致A调用B的方法失效。

  b.为了解决耦合导致的问题,我们可以设计成:

  对象A生成消息->将消息通知给一个事件消息处理器(Observable)->消息处理器将消息传递给B

  具体调用过程变成:A.emit('message',data); B.on('message',function(data){});

  请实现这一事件消息代理功能

  //请将事件消息功能补充完整

  function EventEmitter(){  ...  }

最新提问 12月 16, 2016 用户: zkk

1个回答

0 投票

在设计模式中,这是一个典型的观察者模式。这道题对我来说有点抽象,我也不在各位面前班门弄斧了,汤姆大叔对观察者模式有精彩的讲解,大家可以围观一下

网址:http://www.cnblogs.com/TomXu/archive/2012/03/02/2355128.html

最新回答 12月 16, 2016 用户: zkk
...