分离核心代码和增强，重构代码结构