增加一些设计模式的实现 以及项目结构的调整