经过提取公用层次的代码