如何处理类的公共设置项?
标题可能描述得不太好,比如说我现在有个类,它会发送一些请求,这些请求有公共的请求头。我希望用户能自定义请求头,但是这个类并不总通过构造函数生成,可能通过一个静态函数如 reg
生成,但我并不希望用户在调用 reg 函数的时候需要传递设置参数,因此我设计了一个静态函数 setConfig
处理,但这样设置会对所有的类生效。
示例代码:
let config = {};
class MyObj {
constructor(...){...}
static reg(...){...}
static setConfig(conf){ config = conf; }
}
但我觉得这样的设计很不好,我希望能够建立一个函数返回一个类,如:
function GetObj(config){
return class MyObj {
private config = config;
.......
};
}
请问各位,这样的设计好吗?有更好的设计方案吗?谢谢回答。