完善抽象工厂