用面向协议方式编程,让项目代码更加的解偶,更加的容易维护