面向对象分析与设计 设计模式:可复用面向对象软件的基础 敏捷软件开发:原则、模式与实践 重构:改善既有代码的设计 refactoring to patterns 学习了面向对象语言,并不一定能够变出面向对象的好程序