JS的设计模式是什么?

时间:2013-05-02 04:46:59

标签: javascript connect

我正在查看connect js库的源代码,他们做了一些有趣的事情。他们将proto中的所有方法合并到app对象中。这种设计模式是否有名称?

function createServer() {
  function app(req, res, next){ app.handle(req, res, next); }
  utils.merge(app, proto);
  utils.merge(app, EventEmitter.prototype);
  app.route = '/';
  app.stack = [];
  for (var i = 0; i < arguments.length; ++i) {
    app.use(arguments[i]);
  }
  return app;
};

1 个答案:

答案 0 :(得分:1)

我认为最接近它的是mixin。也就是说,您获取对象的现有定义(在本例中为函数),然后将属性从另一个对象复制到其上。

您可以通过阅读source告诉该方法只是将属性从源对象复制到目标对象。