<<设计模式:可复用面向对象软件的基础>>GOF<<面向对象分析与设计>>Grady Boech<<敏捷软件开发:原则,模式与实践>>Robert C . Martin<<重构:改善既有代码的设计>>Martin Fonler<<Refactoring to patterns>> Joshua Keriersky