工厂方法。