У меня есть класс, назовем его CoolClass
, который я использую во всем своем коде для доступа к его свойствам c stati. Однако у меня есть этап настройки в CoolClass
, который я определяю как функцию как часть моего класса; назовем его doSetupStuff()
. Чтобы заставить это сработать, я вызываю его, установив переменную stati c dummy
.
Это мое текущее решение, которое работает:
export default class CoolClass {
public static readonly something = 'cool';
public static readonly somethingelse = 12345;
// GOAL: how can we call doSomeStuff() only once, without setting this 'dummy' variable?
public static readonly dummy = CoolClass.doSetupStuff();
public static doSetupStuff(): void {
console.log('doing setup...');
// more logic here...
}
}
Но мне это кажется неправильным потому что мне никогда не нужно CoolClass.dummy
- мне просто нужно запустить то, что находится в doSetupStuff()
.
Я знаю, что могу это сделать:
export default class CoolClass {
public static readonly something = 'cool';
public static readonly somethingelse = 12345;
constructor() {
this.doSetupStuff();
}
public doSetupStuff(): void {
console.log('doing setup...');
// more logic here...
}
}
, но тогда я не могу использовать CoolClass статически. (т.е. мне нужно вызывать new
каждый раз, когда я хочу использовать его в других частях моего кода).
Конечно, нет необходимости устанавливать переменную dummy
, как в моем текущем решении. Есть у кого-нибудь идеи? При необходимости я могу опубликовать полный код, хотя я считаю, что это не имеет отношения к шаблону, который я хочу достичь sh.