Я использую следующий шаблон, когда мне нужно убедиться, что у меня есть один экземпляр класса:
class DB {
constructor() {
// create db connection
}
}
const myDB = new DB();
export default myDB;
Так что, даже если я импортирую его несколько других модулей, я получу тот же экземпляр. Это надежная модель? Я знаю, что модуль кэширования поставляется с предупреждением о чувствительности к регистру файлов. Но есть ли крайние случаи, которые могли бы привести к тому, что мой множественный импорт создал несколько db
объектов?
Я знаю, что я могу альтернативно создать конкретный синглтон с помощью метода getInstance()
, но этот шаблон выглядит проще.