DP的經(jīng)典教材是GoF(Gang of Four)的《Design Pattern:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》垦搬。另外一本推薦的書是《大話設(shè)計(jì)模式》夸楣。GoF的書剛開始看有點(diǎn)難理解细卧,多讀優(yōu)秀源碼,多做項(xiàng)目寫代碼悦穿,看相關(guān)博客羹膳,讀簡(jiǎn)易入門的書籍,慢慢就會(huì)發(fā)掘出GoF的寶藏肠套。
《風(fēng)雨哈佛路》里對(duì)textbook的定義是:一家之言舰涌。而一家之言不及百家言,所以并不是抱著一本書啃就是好事兒你稚,優(yōu)秀博客也積攢著百家的優(yōu)秀文章&看法&思路瓷耙。
這個(gè)系列的文章基本都是摘自Wiki,之后會(huì)通過閱讀其他資料和書籍繼續(xù)補(bǔ)充&豐滿刁赖。
DP可分為三大塊兒:創(chuàng)建型(Creational Pattern)搁痛,結(jié)構(gòu)型(Structural Pattern),行為型(Behavioural Pattern)模式宇弛;
創(chuàng)建型模式有:抽象工廠 生成器 工廠方法 原型 單例鸡典,抽象了創(chuàng)建實(shí)例的過程。
結(jié)構(gòu)型模式有:適配器 橋接 Composite 修飾 外觀 享元 代理枪芒。
行為型模式有:責(zé)任鏈 命令 Interpreter 迭代器 Mediator Memento 觀察者 State 策略 模板方法 訪問者彻况。
創(chuàng)建型模式是用來解決在不指定具體類型對(duì)象下創(chuàng)建對(duì)象的問題。
DP其實(shí)是programer對(duì)編碼的經(jīng)驗(yàn)之談舅踪,GoF只是把這些經(jīng)驗(yàn)之談總結(jié)起來起名字纽甘。所以學(xué)習(xí)這些DP的方法就是coding,從coding中發(fā)現(xiàn)并運(yùn)用&反思編碼的邏輯和代碼的重構(gòu)抽碌。
學(xué)習(xí)DP主要是學(xué)習(xí)DP的思想悍赢,通過各種顯示案例體會(huì)DP的應(yīng)用場(chǎng)景。其中每個(gè)DP對(duì)應(yīng)的UML類圖以及相應(yīng)代碼都只是為了加深讀者對(duì)相關(guān)DP基礎(chǔ)概念的理解咬展。