大话设计模式(十 会修电脑不会修收音机?——聊设计模式原则)
?(續(xù)上篇)
???????? 小菜學(xué)會了反射后,正在興奮,想著大鳥的問題。此時,突然聲音響起。
????? “死了都要愛,不淋漓盡致不痛快,感情多深只有這樣,才足夠表白。死了都要愛……”
?????? 原來是小菜的手機(jī)鈴聲,大鳥嚇了一跳,說道:”你小子,用這歌做鈴聲,嚇唬人啊!這要是在公司開大會時響起,你要被領(lǐng)導(dǎo)淋漓盡致愛死!MD,還在唱,快接!”
???????小菜很是郁悶,拿起手機(jī)一看,一個美女來的電話,由轉(zhuǎn),馬上接通了手機(jī),“喂!”
????? “小菜呀,我是嬌嬌我電腦壞了你快點幫幫我呀!”手機(jī)里傳來急促的女孩聲音。
????? “哈,是你呀,你現(xiàn)在好嗎?最近怎么不和我聊天了?”小菜慢條斯理的說道。
????? “快點幫幫我呀,,電腦不能用了啊!”嬌嬌略帶哭腔的說。
????? “別急別急,怎么個壞法?”
????? “每次打開QQ,一玩游戲,機(jī)器就死了。出來藍(lán)底白字的一堆亂七八糟的英文,過一會就重啟了,再用QQ還是一樣。怎么辦呀?”
????? “哦,明白了,藍(lán)屏死機(jī)吧,估計內(nèi)存有問題,你的內(nèi)存是多少兆的?”
????? “什么內(nèi)存多少兆,我聽不懂呀,你能過來幫我修一下嗎?”
????? “啊,你在金山,我在寶山,雖說在上海兩地名都錢味兒十足,可兩山相隔萬重路呀!現(xiàn)在都晚上了,又是星期一,周六我去你那里幫你修吧!”小菜無耐的說。
?????“要等五天那不行,你說什么藍(lán)屏?怎么修法?”嬌嬌依然急不可待。
???? “藍(lán)屏多半內(nèi)存壞了,你要不打開機(jī)箱看看,或許有兩個內(nèi)存,可以拔一根試試,如果只有一根內(nèi)存,那就沒戲了?!?br /> ???? “機(jī)箱怎么打開呢?”嬌嬌開始認(rèn)真起來。
???? “這個,你找機(jī)箱后面,四個角應(yīng)該都有螺絲,靠左側(cè)邊上兩個應(yīng)該就可以打開左邊蓋了?!毙〔烁杏X有些費力,遠(yuǎn)程手機(jī)遙控修電腦,這是頭一次。
???? “我好象看到了,要不先掛電話,我試試看,打開后再打給你?!?br /> ???? “哦,好的。”小菜正說著,只聽嬌嬌邊嘟囔著“老娘就不信收拾不了你這破電腦”邊掛掉了電話。
???? “呵!”小菜長出一口氣,“不懂內(nèi)存為何物的美眉修電腦,強(qiáng)!”
???? “你小子,人家在困難時刻想得到你,說明心中有你,懂嗎?這是機(jī)會!”大鳥說道。
???? “這倒也是,這小美眉長得蠻漂亮的,我看過照片。就是脾氣大些,不知道有沒有男朋友了?!?br /> ???? “切,你干嗎不對她說,‘你可以找男友修呀’,真是沒腦子,要是有男友,就算男友不會修也要男友找人搞定,用得著找你求助呀,笨笨!”大鳥嘲笑道,“你快把你那該死的手機(jī)鈴聲換掉——死了都要愛,死了還愛個屁!”
???? “噢!知道了?!?br />
????? 十分鐘后。
?????“我在這兒等著你回來,等著你回來,看那桃花開。我在這兒等著你回來,等著你回來,把那花兒采……”小菜的手機(jī)鈴聲再次響起。
????? “菜花癡,你就不能找個好聽的歌呀?!贝篪B氣著說道。
?????“好好好,我一會改,一會改?!毙〔四闷鹗謾C(jī),一副很聽話的樣子,嘴里卻跟著哼“我在這兒等著你回來哎”,把手機(jī)放到耳邊。
????? “小菜,我打開機(jī)箱了,快說下一步怎么走!”嬌嬌仍然著急著說。
???? “你試著找找內(nèi)存條,內(nèi)存大約是10公分長,2公分寬,上有多個小長方形集成電路塊的長條,應(yīng)該是豎插著的。”小菜努力把內(nèi)存樣子描述得容易理解。
?????? “我看到一個風(fēng)扇,沒有呀,在哪里?”嬌嬌說道,“哦,我找到了,是不是很薄,很短的小長條?咦,怎么有兩根?”
?????? “啊,太好了,有兩根估計就能解決問題了,你先試著拔一根,然后開機(jī)試試看,如果還是死機(jī),再插上,撥另一根試,應(yīng)該總有一根可以保證不藍(lán)屏。”
????? “我怎么撥不下來呢?”
????? “旁邊有卡子,你扳開再試。”
????? “嗯,這下好了,你別掛,我這就重啟看看?!?br />
???????? 十分鐘后。
?????? “哈,沒有死機(jī)了啊,小菜,你太厲害了,我竟然可以修電腦了,要我怎么感謝你呢!”嬌嬌興奮地說。
????? “最好以身相許吧,”小菜心里這么遐想著,口中卻謙虛地說:“不客氣,都是你聰明,敢自己獨自打開機(jī)箱修電腦的女孩很少的。你把換下的內(nèi)存去電腦城換掉,就可以了?!?br /> ????? “我不懂的,要不周六你幫我換?周六我請你吃飯吧!”
????? “這怎么好意思——你說在什么時間在哪碰面?”小菜假客氣著,卻不愿意放棄機(jī)會。
????? “周六下午5點在徐家匯太平洋數(shù)碼門口吧?!?br /> ????? “好的,沒問題。”
????? “今天真的謝謝你,那就先Bye-Bye了!”
????? “嗯,拜拜!”
????? “小菜走桃花運了哦,”大鳥有些羨慕道,“那鈴聲看來有些效果,不過還是換掉吧,俗!”
???? “嘿嘿,你說也怪,修電腦,這在以前根本不可能的事,怎么就可以通過電話就教會了,而且是真的修到可以用了呢?!?br /> ???? “你有沒有想過這里的最大原因?”大鳥開始上課了。
???? “藍(lán)屏通常是內(nèi)存本身有問題或內(nèi)存與主板不兼容,主板不容易換,但內(nèi)存卻只需要更換就可以了,而且換起來很容易?!?br /> ???? “如果是別的部件壞了,比如硬盤,顯卡,光驅(qū)等,是否也只需要更換就可以了?”
???? “是呀,確實很方便,只需要懂一點點計算機(jī)知識,就可以試著修電腦了?!?br /> ???? “想想和我們編程有什么聯(lián)系?”
???? “你的意思是——面向?qū)ο?#xff1f;”
???? “說說看,面向?qū)ο蟮乃膫€好處?”
???? “這個我記得最牢了,就是活字印刷那個例子啊,是可維護(hù)、可擴(kuò)展、可復(fù)用和靈活性好。我知道了,可以把PC電腦理解成是大的軟件系統(tǒng),任何部件如CPU、內(nèi)存、硬盤,顯卡等都可以理解為程序中封裝的類或程序集,由于PC易插撥的方式,那么不管哪一個出問題,都可以在不影響別的部件的前題下進(jìn)行修改或替換。”
???? “PC電腦里叫易插撥,面向?qū)ο罄锇堰@種關(guān)系叫什么?”
???? “應(yīng)該是叫強(qiáng)內(nèi)聚、松耦合吧?!?br /> ???? “對的,非常好,我們電腦里的CPU全世界也就是那么幾家生產(chǎn)的,大家都在用,可是就是不知道Intel/AMD等是如何做出這個小東西。去年國內(nèi)不是還出現(xiàn)了漢芯造假的新聞嗎!這就說明CPU的強(qiáng)內(nèi)聚的確是強(qiáng)。但它又獨自成為了產(chǎn)品可以在千千萬萬的電腦主板上插上就可以使用,這是什么原因?”大鳥又問。
?????? “因為CPU的對外都是針腳式或觸點式等標(biāo)準(zhǔn)的接口。啊,我明白了,這就是接口的最大好處。CPU只需要把接口定義好,內(nèi)部再復(fù)雜我也不讓外界知道,而主板只需要預(yù)留與CPU針腳的插槽就可以了?!?br /> ?????? “很好,你已經(jīng)在無意的談話間提到了設(shè)計模式其中的幾大設(shè)計原則,單一職責(zé)原則,開放—封閉原則,依賴倒轉(zhuǎn)原則(參考《敏捷軟件開發(fā)——原則、模式與實踐》)”大鳥接著講道,“所謂單一職責(zé)原則,就是指就一個類而言,應(yīng)該僅有一個引起它變化的原因,就剛才修電腦的事,顯然內(nèi)存壞了,不應(yīng)該成為更換CPU的理由。開放—封閉原則是說對擴(kuò)展開發(fā),對修改關(guān)閉,通俗的講,就是我們在設(shè)計一個模塊的時候,應(yīng)當(dāng)使這個模塊可以在不被修改的前提下被擴(kuò)展,換句話說就是,應(yīng)當(dāng)可以在不必修改源代碼的情況下改變這個模塊的行為。比如內(nèi)存不夠只要插槽多就可以加,比如硬盤不夠了,可以用移動硬盤等,PC的接口是有限的,所以擴(kuò)展有限,軟件系統(tǒng)設(shè)計得好,卻可以無限的擴(kuò)展。依賴倒轉(zhuǎn)原則,原話解釋是抽象不應(yīng)該依賴細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象,這話繞口,說白了,就是要針對接口編程,不要對實現(xiàn)編程,無論主板、CPU、內(nèi)存、硬盤都是在針對接口編程,如果針對實現(xiàn)編程,那就會出現(xiàn)換內(nèi)存需要把主板也換了的尷尬。你想在小MM面前表現(xiàn)也就不那么容易了。所以說,PC電腦硬件的發(fā)展,和面向?qū)ο笏枷氚l(fā)展是完全類似的。這也說明世間萬物都是遵循某種類似的規(guī)律,誰先把握了這些規(guī)律,誰就最早成為了強(qiáng)者。”?
??????? “還好,她沒有問我如何修收音機(jī),收音機(jī)里都是些電阻、三極管,電路板等等東東,我可不會修的。”小菜慶幸道。
?????? “哈,小菜你這個比方打得好,”大鳥開心的說,“收音機(jī)就是典型的耦合過度,只要收音機(jī)出故障,不管是聲音沒有、不能調(diào)頻、有雜音,反正都很難修理,不懂的人根本沒法修,因為任何問題都可能涉及其它部件。非常復(fù)雜的PC電腦可以修,反而相對簡單的收音機(jī)不能修,這其實就說明了很大的問題。當(dāng)然,電腦的所謂修也就是更換配件,CPU或內(nèi)存要是壞了,老百姓是沒法修的。其實現(xiàn)在在軟件世界里,收音機(jī)式強(qiáng)耦合開發(fā)還是太多了,比如前段時間某銀行出問題,需要服務(wù)器停機(jī)大半天的排查修整,這要損失多少錢。如果完全面向?qū)ο蟮脑O(shè)計,或許問題的查找和修改就容易得多?!?br /> ?????? “是的是的,我聽說很多銀行目前還是純C語言的面向過程開發(fā),非常不靈活,維護(hù)成本是很高昂的。”
????? “那也是沒辦法的,銀行系統(tǒng)哪是說換就換的,所以現(xiàn)在是大力鼓勵年輕人學(xué)設(shè)計模式,直接面向?qū)ο蟮脑O(shè)計和編程,從大的方向上講,這是國家大力發(fā)展生產(chǎn)力的很大保障呀?!?br /> ???? “大鳥真是高瞻遠(yuǎn)矚呀,我對你的敬仰猶如滔滔江水,連綿不絕!”小菜怪笑道,“我去趟WC”。
??????
???? “浪奔,浪流,萬里江海點點星光耀,人間事,多紛擾,化作滾滾東逝波濤,有淚,有笑…………”
???? “小菜,電話。小子,怎么又換成上海灘的歌了,這歌好聽。”大鳥笑道,“剛才是死了都要愛,現(xiàn)在是為愛復(fù)仇而死。你怎么找的歌都跟愛過不去呀??禳c,電話,又是剛才那個叫嬌嬌的小MM的。”
???? “來了來了,尿都只尿了一半!”小菜心急地接起電話,“喂!”
???? “小菜呀,我家收音機(jī)壞了,你能不能教我修修呢!”
(待續(xù))
出處:http://www.cnblogs.com/cj723/archive/2007/03/23/684550.html
總結(jié)
以上是生活随笔為你收集整理的大话设计模式(十 会修电脑不会修收音机?——聊设计模式原则)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大话设计模式(九 反射——程序员的快乐!
- 下一篇: 大话设计模式(十一 三层架构,分层开发)