设计模式-可复用面向对象软件的基础,一本很出名的书籍。