泛型重构