完成工厂模式