增加工厂方法模式