【程序員對(duì)于設(shè)計(jì)模式學(xué)習(xí)心得體會(huì)】_第1頁
【程序員對(duì)于設(shè)計(jì)模式學(xué)習(xí)心得體會(huì)】_第2頁
【程序員對(duì)于設(shè)計(jì)模式學(xué)習(xí)心得體會(huì)】_第3頁
【程序員對(duì)于設(shè)計(jì)模式學(xué)習(xí)心得體會(huì)】_第4頁
【程序員對(duì)于設(shè)計(jì)模式學(xué)習(xí)心得體會(huì)】_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、【程序員對(duì)于設(shè)計(jì)模式學(xué)習(xí)心得體會(huì)】程序員關(guān)于設(shè)計(jì)模式學(xué)習(xí)心得體會(huì) 設(shè)計(jì)模式,每一個(gè)稍有經(jīng)驗(yàn)的程序員應(yīng)該都比較熟悉的一個(gè)詞匯。我第一次聽到這個(gè)詞,記得是參加工作第一年時(shí)聽一個(gè)前輩說起的,當(dāng)時(shí)他還推薦了一本書,大話設(shè)計(jì)模式。當(dāng)時(shí)對(duì)這個(gè)概念并不是很重視。典型的新手思維,心里想,無非是綜合運(yùn)用抽象、繼承、多態(tài)等特性,把這些特性玩溜了,設(shè)計(jì)模式手到擒來?,F(xiàn)在想來,自己真是天真,無知。掌握了面向?qū)ο蟮某橄?、繼承、多態(tài)等特性并不意味著就能掌握設(shè)計(jì)模式,寫出結(jié)構(gòu)優(yōu)良,易于擴(kuò)展、維護(hù)的代碼。面向?qū)ο蠹夹g(shù)僅僅是設(shè)計(jì)模式的實(shí)現(xiàn)技術(shù)基礎(chǔ)。而設(shè)計(jì)模式是一套面向?qū)ο缶幊痰慕?jīng)驗(yàn),是許多軟件行業(yè)的前輩長(zhǎng)時(shí)間的艱苦努力總結(jié)出來

2、的,是值得我們好好研究,好好學(xué)習(xí),值得在工程實(shí)踐中探索應(yīng)用的。 使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性、程序的重用性。二十幾種設(shè)計(jì)模式中,常用的有十幾種,學(xué)習(xí)理解這些模式也許不是特別困難的事情,但是難點(diǎn)在于如何學(xué)以致用,在實(shí)際的工作中如何使用這些模式,或者說如何使用設(shè)計(jì)模式令我們的工作受益。以下從設(shè)計(jì)模式使用誤區(qū)和如何有效在工作中使用設(shè)計(jì)模式兩方面談一談自己的一些想法。 為了使用設(shè)計(jì)模式而是用設(shè)計(jì)模式,是最得不償失的一種觀念。類似的描述是過度設(shè)計(jì),對(duì)代碼進(jìn)行了過多的面向未來的設(shè)計(jì),進(jìn)行了不必要的抽象封裝,為系統(tǒng)增加了不必要的復(fù)雜度。這是不值當(dāng)?shù)?。?dāng)然,更多的情況是

3、沒有運(yùn)用設(shè)計(jì)模式進(jìn)行恰當(dāng)?shù)姆庋b,使得產(chǎn)品功能的迭代進(jìn)行的非常困難,甚至需要重構(gòu)代碼才能繼續(xù)進(jìn)行下去。 關(guān)于如何在工作中更有效的使用設(shè)計(jì)模式,下面談一下自己的一點(diǎn)想法。首先要從使用設(shè)計(jì)模式的目的說起:代碼可重用。如果代碼可重用性比較良好,那么需求有新的變化或者增加,我們只需更改少許的代碼便可實(shí)現(xiàn)新的需求,開發(fā)測(cè)試工作量都會(huì)相應(yīng)的減少,這是設(shè)計(jì)模式帶來的好處。那么如何做到代碼可重用呢?個(gè)人認(rèn)為,首先要從產(chǎn)品需求分析做起。與產(chǎn)品確定產(chǎn)品現(xiàn)有功能點(diǎn),以及將來的產(chǎn)品規(guī)劃,確定變化與穩(wěn)定點(diǎn),這是進(jìn)行設(shè)計(jì)模式設(shè)計(jì)的基礎(chǔ)。另外開發(fā)人員要深入領(lǐng)會(huì)掌握設(shè)計(jì)模式技巧,做到心中有劍。最后,對(duì)于經(jīng)驗(yàn)尚淺到的程序員,不要

4、想著一蹴而就,有時(shí)候設(shè)計(jì)模式是迭代的結(jié)果。 最后結(jié)合近期水電布線功能,反思一下如何能夠更好地實(shí)現(xiàn)該模塊。對(duì)于點(diǎn)對(duì)點(diǎn)布線算法子模塊,由于強(qiáng)電,給水,算法存在一些差異(當(dāng)然在該模塊開發(fā)之前,并沒有對(duì)此進(jìn)行深入的調(diào)研),但是目前來看差異并未達(dá)到完全沒有關(guān)聯(lián)的地步,或許可以采用裝飾模式:強(qiáng)電走線算法作為基礎(chǔ) component,給水在強(qiáng)電外包一層給水獨(dú)有的算法,然后再調(diào)用強(qiáng)電走線算法(目前使用的是靜態(tài)方法,大體也是在強(qiáng)電外包了一層給水走線算法),由于排水,弱電走線規(guī)則還不確定,所以該方案是否可行,還需要調(diào)研。當(dāng)然也可以使用策略模式,將幾種走線算法徹底區(qū)分開來,但代碼或許存在冗余。對(duì)于界面交互,目前來看,各個(gè)布線

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論