コード例 #1
0
        private CallCenterEmployee GetNewCallCenterEmployee()
        {
            // Creates a new CallCenteremployee
            CallCenterEmployee oEmp = new CallCenterEmployee();

            objPool.Enqueue(oEmp);
            return(oEmp);
        }
コード例 #2
0
        public ObjectPoolPatternStrategy()
        {
            CallCenter         cs     = new CallCenter();
            CallCenterEmployee myEmp1 = cs.GetCallCenterEmployee();

            Console.WriteLine("First employee");
            CallCenterEmployee myEmp2 = cs.GetCallCenterEmployee();

            Console.WriteLine("Second employee");
        }
コード例 #3
0
        protected CallCenterEmployee RetrieveFromPool()
        {
            CallCenterEmployee oEmp;

            // if there is any objects in my collection
            if (objPool.Count > 0)
            {
                oEmp = (CallCenterEmployee)objPool.Dequeue();
                CallCenterEmployee.Counter--;
            }
            else
            {
                // return a new object
                oEmp = new CallCenterEmployee();
            }
            return(oEmp);
        }