修改抽象工厂