工厂方法
some