這個(gè)問(wèn)題,通常會(huì)讓很多人有點(diǎn)不知所措,感覺(jué)我一直在編碼,但是說(shuō)到思想很難去闡述。
下面,我說(shuō)說(shuō)自己的想法,
首先,談?wù)劇懊嫦蜻^(guò)程”vs“面向?qū)ο蟆?/p>
我覺(jué)得這兩者是思考角度的差異,面向過(guò)程更多是以“執(zhí)行者”的角度來(lái)思考問(wèn)題,而面向?qū)ο蟾嗍且浴敖M織者”的角度來(lái)思考問(wèn)題,舉個(gè)例子,比如我要產(chǎn)生一個(gè)0-10之間的隨機(jī)數(shù),如果以“面向過(guò)程”的思維,那我更多是關(guān)注如何去設(shè)計(jì)一個(gè)算法,然后保證比較均衡產(chǎn)生0-10的隨機(jī)數(shù),而面向?qū)ο蟮乃季S會(huì)更多關(guān)注,我找誰(shuí)來(lái)幫我們做這件事,比如Random類(lèi),調(diào)用其中提供的方法即可。
所以,面向?qū)ο蟮乃季S更多的是考慮如何去選擇合適的工具,然后組織到一起干一件事。
好比一個(gè)導(dǎo)演,要拍一場(chǎng)電影,那么首先要有男豬腳和女豬腳,然后還有其他等等,最后把這些資源組織起來(lái),拍成一場(chǎng)電影。
再說(shuō)回我們的程序世界,這個(gè)組織者的思維無(wú)處不在,比如,我們要開(kāi)發(fā)項(xiàng)目,以三層架構(gòu)的模式來(lái)開(kāi)發(fā),那么這個(gè)時(shí)候,我們不需要重復(fù)造輪子,只需要選擇市面上主流的框架即可,比如SpringMVC,Spring,MyBatis,這些都是各層的主流框架。
好了,今天就到這,大家可以自己再想很多這樣的例子出來(lái)。
結(jié)合開(kāi)發(fā)過(guò)的項(xiàng)目案例來(lái)結(jié)合回答更經(jīng)常