《设计模式:可复用面向对象软件的基础》GoF
《面向对象分析与设计》Grady Booch
《敏捷软件开发:原则、模式与实践》Robert C. Martin
《重构:改善既有代码的设计》 Martin Fowler
《Refactoring to Patterns》Joshua Kerievsky