Это приложение-уровневое управление общим ресурсом, часто называемое singleton scope; сам Engine использует паттерн Object Pool для соединений. Это не обязательно Singleton как класс.
Как называется паттерн, при котором `Engine` создаётся один раз на приложение и управляет общим пулом соединений?
Это приложение-уровневое управление общим ресурсом, часто называемое singleton scope; сам Engine использует паттерн Object Pool для соединений. Это не обязательно Singleton как класс.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Это приложение-уровневое управление общим ресурсом, часто называемое singleton scope; сам Engine использует паттерн Object Pool для соединений. Это не обязательно Singleton как класс.
Один Engine обычно создают на конфигурацию БД и используют повторно в пределах процесса. Его можно передавать через dependency injection, модуль или контейнер приложения, не реализуя специальный singleton-метакласс. Пул выдаёт соединения на время работы и возвращает их после освобождения. При нескольких процессах «один на приложение» не означает один общий объект в памяти всех процессов. Важно также не путать общий Engine с Session или активной транзакцией: их жизненный цикл обычно значительно короче.