添加工厂方法模式(factory method)