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.