编程模式名称,用于确定从响应中调用哪种方法

时间:2013-12-04 20:08:29

标签: javascript design-patterns

之前我已经看过并写过这种代码,我知道它有一个名字,但我记不起来了。在JS中,您有一对键/值对响应以及如何为该响应做些什么。类似的东西:

// Some base class
Foo.extend({
  handleRequest: function () {
    // Make some XHR request
    makeRequest({
      onSuccess: function (response) {
        // will call acceptRequest if response.status is accept
        this[this._responders[response.status]]();
      }.bind(this);
    });
  },
  acceptRequest: function () {},
  denyRequest: function () {},
  _responders: {
    accept: "acceptRequest",
    deny: "denyRequest"
  }
});

1 个答案:

答案 0 :(得分:2)

根据您提供的有限信息,我猜您正在描述Strategy Pattern,它允许您在运行时选择算法的行为。