重构代码，将下载课程代码移出。