调整包结构，抽象抽象类，以及一个简单的实现