/* * Este padrão permite que objetos sejam reutilizados / reaproveitados, sem a necessidade de criação para cada chamada / solicitação de aplicações clientes. É uma espécie de cache de objetos. */ public void ObjectPool() { var constr = @"Data Source=.\SQLEXPRESS; Initial Catalog=NORTHWND; Integrated Security=true; Pooling=false;"; var pool = new SqlConnectionPool(constr); var con = pool.checkOut(); var SQL = "select * from Products"; var cmd = new SqlCommand(SQL, con); var dr = cmd.ExecuteReader(); while (dr.Read()) { Console.WriteLine(dr[1].ToString()); } dr.Close(); pool.checkIn(con); Console.ReadLine(); }