Example #1
0
        void Start()
        {
            //绑定上下文
            clanView.BindingContext = new ClanViewModel();
            //立刻显示
            clanView.Reveal();

            PoolObjectFactory poolObjectFactory = new PoolObjectFactory(5, true);

            poolObjectFactory.AcquireObject(typeof(UserRepository));
            poolObjectFactory.AcquireObject(typeof(UserRepository));
            poolObjectFactory.AcquireObject(typeof(UserRepository));

            var result = poolObjectFactory.AcquireObject(typeof(UserRepository));

            poolObjectFactory.ReleaseObject(result);

            poolObjectFactory.AcquireObject(typeof(UserRepository));
            poolObjectFactory.AcquireObject(typeof(UserRepository));

            //            ServiceLocator.RegisterSingleton<UserRepository>();

            //
            //            var userRepo = ServiceLocator.Resolve<UserRepository>();
            //            userRepo.Add();
            //
            //            var userRepo1 = ServiceLocator.Resolve<UserRepository>();
            //            userRepo1.Add();

            //            var unitRepo = ServiceLocator.Resolve<IUnitRepository>();
            //            unitRepo.Get();

            ServiceLocator.RegisterSingleton <IUnitRepository, UnitRepository>();
            ServiceLocator.Resolve <IUnitRepository>();
        }
Example #2
0
 public Pool(PoolObjectFactory <T> pof, int maxSize)
 {
     _factory     = pof;
     _maxSize     = maxSize;
     _freeObjects = new Queue <T>(maxSize);
 }
Example #3
0
 public Pool(PoolObjectFactory <T> factory, int maxSize)
 {
     this.m_Factory     = factory;
     this.m_MaxSize     = maxSize;
     this.m_FreeObjects = new List <T>(maxSize);
 }