大话设计模式(三 复制VS复用)
大話設(shè)計(jì)模式(三 復(fù)制VS復(fù)用)
(續(xù)上篇)?
??????? 小菜:“我明白了,他說(shuō)用任意一種面向?qū)ο笳Z(yǔ)言實(shí)現(xiàn),那意思就是要用面向?qū)ο蟮木幊谭椒ㄈ?shí)現(xiàn),對(duì)嗎?OK,這個(gè)我學(xué)過(guò),只不過(guò)當(dāng)時(shí)我沒(méi)想到而已。”
??????? 大鳥(niǎo):“所有編程初學(xué)者都會(huì)有這樣的問(wèn)題,就是碰到問(wèn)題就直覺(jué)的用計(jì)算機(jī)能夠理解的邏輯來(lái)描述和表達(dá)待解決的問(wèn)題及具體的求解過(guò)程。這其實(shí)是用計(jì)算機(jī)的方式去思考,比如計(jì)算器這個(gè)程序,先要求輸入兩個(gè)數(shù)和運(yùn)算符號(hào),然后根據(jù)運(yùn)算符號(hào)判斷選擇如何運(yùn)算,得到結(jié)果,這本身沒(méi)有錯(cuò),但這樣的思維卻使得我們的程序只為滿足實(shí)現(xiàn)當(dāng)前的需求,程序不容易維護(hù),不容易擴(kuò)展,更不容易復(fù)用。從而達(dá)不到高質(zhì)量代碼的要求?!?
??????? 小菜:“鳥(niǎo)哥呀,我有點(diǎn)糊涂了,如何才能容易維護(hù),容易擴(kuò)展,又容易復(fù)用呢,能不能具體點(diǎn)?”
??????? 大鳥(niǎo):“比如說(shuō),我現(xiàn)在要求你再寫(xiě)一個(gè)windows的計(jì)算器,你現(xiàn)在的代碼能不能復(fù)用呢?”
小菜:“那還不簡(jiǎn)單,把代碼復(fù)制過(guò)去不就行了嗎?改動(dòng)又不大,不算麻煩?!?br /> ?????? 大鳥(niǎo):“小菜看來(lái)還是小菜呀,有人說(shuō)初級(jí)程序員的工作就是Ctrl+C和Ctrl+V,這其實(shí)是非常不好的編碼習(xí)慣,因?yàn)楫?dāng)你的代碼中重復(fù)的代碼多到一定程度,維護(hù)的時(shí)候,可能就是一場(chǎng)災(zāi)難。越大的系統(tǒng),這種方式帶來(lái)的問(wèn)題越嚴(yán)重,編程有一原則,就是用盡可能的辦法去避免重復(fù)。想想看,你寫(xiě)的這段代碼,有哪些是和控制臺(tái)無(wú)關(guān)的,而只是和計(jì)算器有關(guān)的?”
(待續(xù)) 出處:http://www.cnblogs.com/cj723/archive/2006/08/30/490253.html
總結(jié)
以上是生活随笔為你收集整理的大话设计模式(三 复制VS复用)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 大话设计模式(二 代码规范、重构)
- 下一篇: 大话设计模式(四 业务的封装)