如何处理类的公共设置项?
发布于 2 年前 作者 coderfox 1101 次浏览 来自 问答

标题可能描述得不太好,比如说我现在有个类,它会发送一些请求,这些请求有公共的请求头。我希望用户能自定义请求头,但是这个类并不总通过构造函数生成,可能通过一个静态函数如 reg 生成,但我并不希望用户在调用 reg 函数的时候需要传递设置参数,因此我设计了一个静态函数 setConfig 处理,但这样设置会对所有的类生效。

示例代码:

let config = {};
class MyObj {
  constructor(...){...}
  static reg(...){...}
  static setConfig(conf){ config = conf; }
}

但我觉得这样的设计很不好,我希望能够建立一个函数返回一个类,如:

function GetObj(config){
  return class MyObj {
    private config = config;
	.......
  };
}

请问各位,这样的设计好吗?有更好的设计方案吗?谢谢回答。

回到顶部