前幾天面試胜臊,被問(wèn)到面向過(guò)程和面向?qū)ο蟮囊饬x與區(qū)別吞加。
既然提到了對(duì)象一詞裙犹,不妨就從“對(duì)象”說(shuō)起。
首先衔憨,我們營(yíng)造一個(gè)面向“對(duì)象”的氛圍叶圃。
碼猴和他的女朋友對(duì)面而坐,在一個(gè)溫馨的西餐廳践图,碼猴打算浪漫一把掺冠,讓她知道碼猴并不是一個(gè)不浪漫的程序員,碼猴僅僅是不浪漫而已码党。
所以碼猴來(lái)餐廳之前德崭,就準(zhǔn)備好了一個(gè)流程:
步驟一:碼猴打算在等餐的時(shí)候,假裝無(wú)聊揖盘,掏出電腦眉厨,開(kāi)始coding。
步驟二:約會(huì)的時(shí)候coding兽狭,碼猴覺(jué)著她的女朋友一定很生氣憾股,然后她準(zhǔn)備發(fā)火,碼猴開(kāi)始哄她箕慧。
步驟三:碼猴把電腦屏幕轉(zhuǎn)到她面前服球,讓她看到碼猴提前準(zhǔn)備好在電腦屏幕上顯示的會(huì)自動(dòng)變換顏色和字體的“我愛(ài)你”。
步驟四:餐廳上菜颠焦,碼猴笑瞇瞇得看著他的姑娘多云轉(zhuǎn)晴斩熊,靜待一個(gè)浪漫的夜晚。
然而伐庭,當(dāng)碼猴執(zhí)行步驟一的時(shí)候粉渠,她的女朋友心想分冈,他為了我們的未來(lái),這么拼渣叛,真是辛苦他了丈秩,我坐在一旁盯捌,默默陪伴他吧淳衙。
碼猴蒙圈了,沒(méi)反應(yīng)饺著,這怎么辦箫攀,提前沒(méi)設(shè)計(jì)這個(gè)流程啊。
于是乎幼衰,碼猴在流程中又加了一步:
步驟一又二分之一:如果她沒(méi)反應(yīng)靴跛,就給她看電腦上的“我愛(ài)你”。
突然碼猴發(fā)現(xiàn)渡嚣,如果在這一步就給她看“我愛(ài)你”梢睛,那么步驟三是不是重復(fù)了,要?jiǎng)h除掉…………
想必寫(xiě)到這里识椰,大家都知道我是一個(gè)很啰嗦雞婆的人了绝葡,明明我就是想描述一下“面向過(guò)程編程”以及其弊端嘛,扯著么多沒(méi)用的腹鹉。
對(duì)藏畅,這就是面向過(guò)程編程,按照既定流程把程序?qū)懗鰜?lái)功咒,優(yōu)點(diǎn)簡(jiǎn)單粗暴直接明了占用資源少愉阎。但是整個(gè)程序都是耦合在一起的,如果某些步驟需要改變力奋,可能會(huì)涉及到整個(gè)程序的修改榜旦,這就比較麻煩了。
于是乎景殷,針對(duì)這種情況溅呢,碼猴打算想想自己會(huì)做什么事情,碼猴會(huì)“打開(kāi)電腦”滨彻,“打開(kāi)‘我愛(ài)你’程序”藕届,“哄女朋友”,“點(diǎn)菜”亭饵,“度過(guò)一個(gè)浪漫的夜晚”等等技能休偶,他發(fā)現(xiàn)他會(huì)的這些,是屬于一類人通有的技能辜羊,他勤學(xué)苦練踏兜,想不到只是一個(gè)類的實(shí)例而已词顾,真是可悲。
這就是“面向?qū)ο缶幊獭绷恕?/p>
碼猴和她女朋友都可以看成是某個(gè)對(duì)象碱妆,這個(gè)對(duì)象擁有的技能是可以隨意使用的肉盹。所以碼猴可以在一開(kāi)始把自己會(huì)的技能都準(zhǔn)備好,當(dāng)女朋友使用“發(fā)怒”這個(gè)方法的時(shí)候疹尾,馬猴調(diào)用“哄女朋友”這個(gè)方法上忍,需要表白的時(shí)候,碼猴調(diào)用“打開(kāi)‘我愛(ài)你’程序”的方法纳本,如果發(fā)現(xiàn)有些新情況要處理窍蓝,那么給自己添加新技能就可以了(給自己的類添加新的方法)這就是面向?qū)ο罅恕?/p>
這就是我理解的面向過(guò)程和面向?qū)ο螅恢肋@么解釋能不能理解起來(lái)更方便一些繁成。當(dāng)然吓笙,說(shuō)來(lái)慚愧,開(kāi)頭說(shuō)的面試我沒(méi)過(guò)巾腕,我這個(gè)“對(duì)象”能調(diào)用的方法太少了面睛,不過(guò)我在努力添加新的方法進(jìn)去。
2018過(guò)去快三分之二了尊搬,加油叁鉴。盡管現(xiàn)在大環(huán)境不太好,但是只要肯努力毁嗦,自身應(yīng)該不會(huì)太差亲茅。