- 青島雅思—專家談雅思考試發(fā)展趨勢
- 河南2011上半年自考網(wǎng)上報(bào)名入口 點(diǎn)擊進(jìn)入
- 2011年廣東省護(hù)士資格考試報(bào)名現(xiàn)場確認(rèn)時(shí)間
- 2011上半年樂山五通橋區(qū)會(huì)計(jì)從業(yè)考試報(bào)名3月10日-4月1
- 哈爾濱香坊區(qū)2011護(hù)士資格考試報(bào)名現(xiàn)場確認(rèn)時(shí)間
- 2011什邡第一次會(huì)計(jì)從業(yè)資格考試報(bào)名3月1日-4月15日
- 2011什邡第二次會(huì)計(jì)從業(yè)資格考試報(bào)名7月1日-9月16日
- 2011年中山市護(hù)士資格考試報(bào)名工作的通知
- 長安大學(xué)2011考研成績查詢?nèi)肟?點(diǎn)擊進(jìn)入
- 西華大學(xué)2011考研成績查詢?nèi)肟?點(diǎn)擊進(jìn)入
- 中國地質(zhì)大學(xué)(武漢)2011考研成績3月3日查詢
- 中南民族大學(xué)2011考研成績查詢3月4日開始
- 沈陽建筑大學(xué)2011考研成績查詢?nèi)肟?點(diǎn)擊進(jìn)入
- 沈陽工業(yè)大學(xué)2011考研成績查詢?nèi)肟?點(diǎn)擊進(jìn)入
Java開發(fā)中的23種設(shè)計(jì)模式
來源:求學(xué)問校網(wǎng) 發(fā)表時(shí)間:2012-07-13 瀏覽 31 次
Java開發(fā)中的23種設(shè)計(jì)模式
來源:考試大 【考試大:天下考生的良師益友】 2012年6月25日
學(xué)習(xí)設(shè)計(jì)模式有兩個(gè)意義:
一、學(xué)習(xí)設(shè)計(jì)模式最重要的是了解模式的手機(jī)應(yīng)用場景。編程遇到特定場景的話,要有意識(shí)聯(lián)想到設(shè)計(jì)模式,哪怕細(xì)節(jié)忘了也沒關(guān)系,翻翻書就找到了。
二、提高手機(jī)APP設(shè)計(jì)的思想。學(xué)習(xí)設(shè)計(jì)模式的時(shí)候,要體會(huì)模式精妙之處,當(dāng)想明白大師思想和自己的差距的時(shí)候,差距就縮短了一點(diǎn)兒。
有的模式平淡無奇,應(yīng)用卻廣泛。有的模式設(shè)計(jì)精巧,應(yīng)用場景卻不易遇到。無論如何,要么掌握工具,要么學(xué)到思想,都是收獲。
最適合簡單概括設(shè)計(jì)模式的是UML圖,收集了一個(gè)非常好的資源,分享在我的sky drive網(wǎng)絡(luò)硬盤上,包含23種設(shè)計(jì)模式的UML圖
cid-d8b11f9bf86fecfa.office.live.com/self.aspx/.Public/books/designpatternscard.pdf
設(shè)計(jì)模式可以分為三類:behavioural, structural, creational
behavioural 11 種
1. Memento(備忘錄)
精巧程度: 5星
應(yīng)用廣泛:2星
在不破壞封裝性的前提下,捕獲一個(gè)對象的內(nèi)部狀態(tài),并在該對象之外保存這個(gè)狀態(tài)。這樣以后就可將該對象恢復(fù)到保存的狀態(tài)。
2. Chain of Responsibility(責(zé)任鏈)
精巧程度: 3星
應(yīng)用廣泛: 3星
為解除請求的發(fā)送者和接收者之間耦合,而使多個(gè)對象都有機(jī)會(huì)處理這個(gè)請求。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個(gè)對象處理它。
適合用在"一系列handler"的場景下。分為純和不純兩種,好像女孩兒也可以這么分?
3. Observer(觀察者)
定義對象間的一種一對多的依賴關(guān)系,以便當(dāng)一個(gè)對象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對象都得到通知并自動(dòng)刷新。
因?yàn)閖ava里有Obserable和Observer, 所以通常在java里不會(huì)自己設(shè)計(jì)觀察者模式。
4. Command(命令模式)
精巧程度:4星
應(yīng)用廣泛:3星
將一個(gè)請求封裝為一個(gè)對象,從而可用不同的請求對客戶進(jìn)行參數(shù)化;對請求排隊(duì)或記錄請求日志,以及支持可取消的操作。
command模式用來解耦invoker和receiver.
5. State(狀態(tài)模式)
精巧程度:4星
應(yīng)用廣泛:3星
允許一個(gè)對象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對象看起來似乎修改了它所屬的類。
OO編程如果出現(xiàn)多個(gè)相同的if…else條件,應(yīng)該考慮用state模式重構(gòu)。work flow的狀態(tài)器也是基于State模式的。
6. Interpreter(解釋器)
精巧程度: N/A
應(yīng)用廣泛: 1星
給定一個(gè)語言,定義它的語法的一種表示,并定義一個(gè)解釋器,該解釋器使用該表示解釋語言中的句子。
7. Strategy(策略模式)
精巧程度: 2星
應(yīng)用廣泛:4星
定義一系列的算法,把它們一個(gè)個(gè)封裝起來,并且使它們可相互替換。本模式使得算法的變化可獨(dú)立于使用它的客戶。
8. Iterator(迭代子)
Java Collection都可以迭代,在java上不需要格外設(shè)計(jì)iterator.
9. Template Method(模板方法)
精巧程度:2星
應(yīng)用廣泛:4星
見名知義。太簡單了,學(xué)過一遍就不會(huì)忘。但是這個(gè)應(yīng)用非常廣泛!
10. Mediator(仲裁者)
精巧程度:4星
應(yīng)用廣泛:1星
用來解耦多個(gè)peer.個(gè)人覺得這個(gè)模式多半會(huì)讓mediator十分臃腫,mediator本身需要有很清晰的設(shè)計(jì)才能使用。應(yīng)用場景恐怕也少。
武漢企業(yè)管理培訓(xùn)培訓(xùn)相關(guān)新聞
武漢企業(yè)管理培訓(xùn)相關(guān)課程
- 襄陽室內(nèi)設(shè)計(jì)培訓(xùn)學(xué)校
- 襄陽廣告設(shè)計(jì)培訓(xùn)學(xué)校
- 襄陽辦公文秘培訓(xùn)襄陽辦公應(yīng)用培訓(xùn)
- 襄陽園林景觀設(shè)計(jì)培訓(xùn)學(xué)校
- 襄陽建筑cad培訓(xùn)襄陽室內(nèi)cad培訓(xùn)襄陽家俱cad培訓(xùn)
- 襄陽建筑cad培訓(xùn)室內(nèi)cad培訓(xùn)
- 襄陽機(jī)械cad培訓(xùn)
- 襄陽2020年全國計(jì)算機(jī)等級考試報(bào)名和培訓(xùn)
- 襄陽建筑設(shè)計(jì)培訓(xùn)學(xué)校
- 襄陽3dmax培訓(xùn)襄陽cad培訓(xùn)襄陽vray培訓(xùn)襄陽ps培訓(xùn)
- 襄陽網(wǎng)頁設(shè)計(jì)培訓(xùn)襄陽網(wǎng)站制作培訓(xùn)
- 襄陽影視廣告動(dòng)漫設(shè)計(jì)培訓(xùn)
- 襄陽大眾室內(nèi)設(shè)計(jì)培訓(xùn)高級學(xué)校
- 襄陽家具Cad培訓(xùn)襄陽室內(nèi)Cad培訓(xùn)
武漢企業(yè)管理培訓(xùn)相關(guān)機(jī)構(gòu)
武漢最新資訊
- 青島雅思—專家談雅思考試發(fā)展趨勢
- 河南2011上半年自考網(wǎng)上報(bào)名入口 點(diǎn)…
- 2011年廣東省護(hù)士資格考試報(bào)名現(xiàn)場確…
- 2011上半年樂山五通橋區(qū)會(huì)計(jì)從業(yè)考試…
- 哈爾濱香坊區(qū)2011護(hù)士資格考試報(bào)名現(xiàn)…
- 2011什邡第一次會(huì)計(jì)從業(yè)資格考試報(bào)名…
- 2011什邡第二次會(huì)計(jì)從業(yè)資格考試報(bào)名…
- 2011年中山市護(hù)士資格考試報(bào)名工作的…
- 長安大學(xué)2011考研成績查詢?nèi)肟?點(diǎn)擊…
- 西華大學(xué)2011考研成績查詢?nèi)肟?點(diǎn)擊…
武漢推薦課程導(dǎo)航
雅思 | 口語 | 日語 | 韓語 | 德語 | 四六級 | 商務(wù)英語 | 平面設(shè)計(jì) | 游戲動(dòng)漫 | 影視制作 | 室內(nèi)外設(shè)計(jì) | 動(dòng)畫設(shè)計(jì) | 網(wǎng)頁設(shè)計(jì) | 等級考試軟件工程 | 美容培訓(xùn) | 手機(jī)維修 | 廚師面點(diǎn) | 會(huì)計(jì)職稱 | 心理咨詢 | 人力資源