Если у вас есть класс, который обслуживает запросы от других классов для данных базы данных, когда вы должны удерживать соединение с базой данных и когда вы должны закрыть его и снова открыть при следующем запросе?
Что, если это служба, которая отвечает на подключения из внешних приложений? (Веб-сервис, Ajax, RPC)
Является ли хорошей идеей поддерживать одноэлементное соединение с базой данных, которое всегда открыто, и просто повторно открывать его в случае сбоя? Или вы должны открывать новое соединение с базой данных для каждого запроса?
Если поддержка одноэлементного объекта базы данных, который всегда имеет открытое соединение с базой данных, является плохой идеей, то есть ли какие-либо обстоятельства, при которых это хорошая идея? Я часто видел, как на это ссылались как на оправдание шаблона Singleton?
Я не говорю о новом соединении для каждого запроса к базе данных, это было бы глупо.