O padrão Object Pool tem como objetivo reduzir o tempo e custo de instanciação de objetos de alto custo, reutilizando esses objetos de forma a melhorar a performance e controle dos recursos. Isso é feito mantendo um pool desses objetos prontos para uso, de modo que clientes podem solicitar os objetos do pool ao invés de criar novos constantemente. Um exemplo típico é um pool de conexões com banco de dados.
2. Introdução ao Padrão Object Pool
O Design Pattern Object Pool tem o objetivo de
reduzir o tempo e custo das instanciações de objetos
que possuem um elevado custo de processamento
durante sua instanciação, reaproveitando objetos,
melhorando a performance e o controle sobre os
recursos.
3. Motivação
➢ Objetos de alto custo de criação
➢ Objetos “reaproveitáveis”
➢ Objetos muito instanciados
4. Objetivo
➢ Reduzir o tempo e custo com instanciações
➢ Melhor reaproveitamento dos objetos
➢
Melhoria em performance
➢ Melhor controle sobre os recursos
7. Na prática
Problema: criação de conexões com o
Banco de Dados
➢ Muito custosas com relação a tempo e
processamento
➢ Dependendo do sistema, a quantidade de
conexões solicitadas pode ser muito elevada
8. Na prática
Solução:
➢ Criar um Pool de conexões que podem ser
“emprestadas” e “devolvidas” pelos clientes,
evitando a criação de novas instâncias enquanto
houver conexões ativas e disponíveis