看完Christopher Nolan的《盜夢(mèng)空間》,我還以為這哥們是Java程序員出身的。能夠把電影搞的像java架構(gòu)一樣的分層,的確有做業(yè)務(wù)系統(tǒng)架構(gòu)的天賦,建議聯(lián)合國(guó)網(wǎng)銀系統(tǒng)的架構(gòu)就交給他搞定算了。在每層的夢(mèng)中都為下一層的夢(mèng)做鋪墊,也和程序中每層中的功能點(diǎn)的劃分較為相似,這不是電影,這是業(yè)務(wù)系統(tǒng)架構(gòu)的生活版。
分層
到夢(mèng)空間中把夢(mèng)分為6個(gè)級(jí)別:現(xiàn)實(shí)世界,第一層夢(mèng),第二層夢(mèng),第三層夢(mèng),第四層夢(mèng),迷失域?,F(xiàn)實(shí)世界對(duì)應(yīng)的是展現(xiàn)層,就是用戶看到的那個(gè)界面;中間夢(mèng)境是業(yè)務(wù)系統(tǒng)的分層實(shí)現(xiàn);迷失域可以看做各種各樣難以搞定的系統(tǒng)問(wèn)題,例如:內(nèi)心泄露的查找,高并發(fā)導(dǎo)致的系統(tǒng)宕機(jī),bug導(dǎo)致的數(shù)據(jù)不一致。
在《盜夢(mèng)空間》中,每層夢(mèng)都為后面的做鋪墊,代碼也是一層層的訪問(wèn),最后達(dá)到能夠完成業(yè)務(wù)目的的要求。每一層的問(wèn)題,或許都是最開(kāi)始你可能想不到的,例如:第一層夢(mèng)的生活碰到了火車,業(yè)務(wù)系統(tǒng)中也較為類似,你或許會(huì)發(fā)現(xiàn)自己選擇的tokyo cabinet僅僅單機(jī)較強(qiáng),分布式方面很弱,或許你的一個(gè)ThreadLocal半年前沒(méi)有remove還能支撐,到了現(xiàn)在3天都需要重啟一下系統(tǒng)。系統(tǒng)中突入起來(lái)的“火車”或許你是想不到的,“兵來(lái)將擋水來(lái)土掩”的適應(yīng)能力才是我們需要追求的。
夢(mèng)主是架構(gòu)師
每層夢(mèng)都有一個(gè)夢(mèng)主,他和其他人分享這個(gè)夢(mèng)境。系統(tǒng)的實(shí)現(xiàn)關(guān)鍵不在于代碼多么的牛B,而是架構(gòu)的適應(yīng)性上。夢(mèng)主如果是一個(gè)柔和的人,那么夢(mèng)中的場(chǎng)景或許很溫馨;架構(gòu)師如果是個(gè)實(shí)用主義者,他的架構(gòu)或許就追求簡(jiǎn)潔。如果夢(mèng)主是一個(gè)內(nèi)心糾結(jié)的人,或許夢(mèng)中就充滿了危險(xiǎn);架構(gòu)師如果是個(gè)與時(shí)俱進(jìn)的人,很可能就會(huì)導(dǎo)致系統(tǒng)過(guò)度設(shè)計(jì)。
主在分享自己的生活,架構(gòu)師在傳達(dá)系統(tǒng)設(shè)計(jì)的思想。
迷失,迷失
什么情況下會(huì)迷失?混亂!
系統(tǒng)的架構(gòu)混亂容易讓團(tuán)隊(duì)迷失,個(gè)人了解的知識(shí)太多,也為讓自己迷失。例如我自己,搞過(guò)web頁(yè)面,SA,程序員,結(jié)果了解的東西是很多,但是沒(méi)有一樣特別的有競(jìng)爭(zhēng)力,還不如專心致志的搞Web Service。當(dāng)然還是需要繼續(xù)思考,要搞好Web Service這門手藝,我需要主動(dòng)學(xué)習(xí)什么資料,有誰(shuí)能夠請(qǐng)教的。站在一個(gè)點(diǎn)上,思路就清晰多了。
如果一個(gè)產(chǎn)品,你看著在1年能肯定能夠賺錢,那么這個(gè)產(chǎn)品肯定會(huì)因?yàn)榇蠊净蛘哔Y本的介入而迅速淹沒(méi)在一片紅海中,例如現(xiàn)在的團(tuán)購(gòu)。紅海中的淘汰屬于清晰型成本問(wèn)題淘汰;藍(lán)海中的淘汰大多數(shù)都是迷失型方向問(wèn)題淘汰。
程序員的迷失,主要問(wèn)題在于:缺乏思考,得過(guò)且過(guò)。
刺激,讓你清醒的好東西。
電影中,刺激是讓夢(mèng)者醒來(lái)的機(jī)制。這中間存在一個(gè)問(wèn)題,如果一個(gè)人有過(guò)量的藥劑,他很可能一生都在迷失域中。
程序員的過(guò)量藥劑是什么?加班。
如果你沉寂在加班中,缺少思考的話,你很可能迷失。當(dāng)然,沒(méi)有藥劑也是不行的,你到達(dá)不了夢(mèng)的深度。適度吧!
你懂了么?
最后陀螺只是變慢了,沒(méi)有停。兩個(gè)小孩的衣服顏色鮮艷了很多。主人公如此努力的目標(biāo)是什么?你呢?
夢(mèng)主是架構(gòu)師
每層夢(mèng)都有一個(gè)夢(mèng)主,他和其他人分享這個(gè)夢(mèng)境。系統(tǒng)的實(shí)現(xiàn)關(guān)鍵不在于代碼多么的牛B,而是架構(gòu)的適應(yīng)性上。夢(mèng)主如果是一個(gè)柔和的人,那么夢(mèng)中的場(chǎng)景或許很溫馨;架構(gòu)師如果是個(gè)實(shí)用主義者,他的架構(gòu)或許就追求簡(jiǎn)潔。如果夢(mèng)主是一個(gè)內(nèi)心糾結(jié)的人,或許夢(mèng)中就充滿了危險(xiǎn);架構(gòu)師如果是個(gè)與時(shí)俱進(jìn)的人,很可能就會(huì)導(dǎo)致系統(tǒng)過(guò)度設(shè)計(jì)。
主在分享自己的生活,架構(gòu)師在傳達(dá)系統(tǒng)設(shè)計(jì)的思想。
迷失,迷失
什么情況下會(huì)迷失?混亂!
系統(tǒng)的架構(gòu)混亂容易讓團(tuán)隊(duì)迷失,個(gè)人了解的知識(shí)太多,也為讓自己迷失。例如我自己,搞過(guò)web頁(yè)面,SA,程序員,結(jié)果了解的東西是很多,但是沒(méi)有一樣特別的有競(jìng)爭(zhēng)力,還不如專心致志的搞Web Service。當(dāng)然還是需要繼續(xù)思考,要搞好Web Service這門手藝,我需要主動(dòng)學(xué)習(xí)什么資料,有誰(shuí)能夠請(qǐng)教的。站在一個(gè)點(diǎn)上,思路就清晰多了。
如果一個(gè)產(chǎn)品,你看著在1年能肯定能夠賺錢,那么這個(gè)產(chǎn)品肯定會(huì)因?yàn)榇蠊净蛘哔Y本的介入而迅速淹沒(méi)在一片紅海中,例如現(xiàn)在的團(tuán)購(gòu)。紅海中的淘汰屬于清晰型成本問(wèn)題淘汰;藍(lán)海中的淘汰大多數(shù)都是迷失型方向問(wèn)題淘汰。
程序員的迷失,主要問(wèn)題在于:缺乏思考,得過(guò)且過(guò)。
刺激,讓你清醒的好東西。
電影中,刺激是讓夢(mèng)者醒來(lái)的機(jī)制。這中間存在一個(gè)問(wèn)題,如果一個(gè)人有過(guò)量的藥劑,他很可能一生都在迷失域中。
程序員的過(guò)量藥劑是什么?加班。
如果你沉寂在加班中,缺少思考的話,你很可能迷失。當(dāng)然,沒(méi)有藥劑也是不行的,你到達(dá)不了夢(mèng)的深度。適度吧!
你懂了么?
最后陀螺只是變慢了,沒(méi)有停。兩個(gè)小孩的衣服顏色鮮艷了很多。主人公如此努力的目標(biāo)是什么?你呢?