update 类工厂