更改了包结构，把内部类拿出来了，显得依赖没那么复杂了