Update 工厂模式