Позволю небольшую копипасту по теме:
Когда лень делать козырныйпулнавсеслучаижизни, я тулю ленивый пул в пару строк прямо в классе.

Код AS3:
private var _bulletsPool:Array = [];
...
private function getBullet():Bullet {
return (this._bulletsPool.length) ? this._bulletsPool.pop() : new Bullet();
}
private function putBullet(bullet:Bullet):void {
this._bulletsPool[this._bulletsPool.length] = bullet;
}
Никаких заморочек, фабрик, превентивного заполнения пула — тупо два метода где-то в конце класса.