コード例 #1
0
        /*
         * 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();
        }