重构了各个类之间的关系，代码未测试