剛剛看完《重構(gòu)與模式》這本書,收獲很多。確實有該書序言所說的“打通重構(gòu)與模式任督二脈”的感覺。
設(shè)計模式的書籍看過不少,從經(jīng)典的GOF的《設(shè)計模式》、《設(shè)計模式解析》,到《Java與模式》,再到《Head First Design Pattern》等等。
重構(gòu)方面的書看過《重構(gòu):改善既有代碼的設(shè)計》。但是,《重構(gòu)與模式》這本書的收獲最大。
《重構(gòu)與模式》一書,最大的特點是:例子詳細(xì),并且都是來源于真實的項目(例如:Junit測試框架,HttpParser等),而不是那么玩具代碼。
由于Junit和HttpParser,在開發(fā)過程中經(jīng)常用到,所以,感覺這些例子很親切,實用價值很大。
該書還有一個特點是,每次重構(gòu)過程都是循序漸進(jìn)的,每次重構(gòu)都是有章可循的(重構(gòu)原則大都來自《重構(gòu):改善既有代碼的設(shè)計》),一直到最終的設(shè)計模式。
這一過程,也很好地反映了一點:設(shè)計模式是重構(gòu)的目標(biāo)!
看完這本書后,個人認(rèn)為在項目的初期設(shè)計中不應(yīng)該過分考慮如何利用設(shè)計模式,設(shè)計模式更多時候應(yīng)該是應(yīng)用在后期的系統(tǒng)重構(gòu)中,這樣可以避免為了模式而模式的過度設(shè)計。
接下來,我會把這本書的體會,結(jié)合實際開發(fā)的項目應(yīng)用,寫一些重構(gòu)和模式相關(guān)的文章。