Шаблон проектирования: объектный пул соединений

Недавно я начал изучать больше информации о шаблоне проектирования пула объектов и столкнулся с вопросами, на которые я не смог найти ответ.

Идея шаблона пула объектов заключается в том, чтобы экономить дорогостоящие ресурсы путем их повторного использования. Например, подключение к БД является очень дорогим ресурсом. Поэтому я хотел бы добавить его в "пул".

Меня всегда учили держать связь открытой как можно меньше. Я могу все это неправильно понять, но, с моей точки зрения, создание нового соединения и поддержание его в течение длительного периода времени (в пуле) - просто пустая трата ресурсов. Соединение не может быть создано несколько раз, но оно всегда будет открыто.

Я был бы рад получить объяснение.

1 ответ

С одной стороны, создание нового соединения может быть плохим из-за длительного времени создания

Другая крайность, которая заключается в полном повторном использовании, также может быть проблематичной, поскольку вы держите ресурсы в течение длительного времени.

Шаблон пула объектов позволяет вам настроить это и (например) время ожидания соединения через некоторое время. Как и любое решение, ориентированное на производительность, оно требует определенной настройки для конкретного случая. Этот шаблон - место, где вы должны сохранить эту конфигурацию.

Другие вопросы по тегам