面試系列1-談對面向?qū)ο笏枷氲睦斫?/h1>
2022-09-22 10:02 作者:架構(gòu)風(fēng)清揚-趣學(xué)旅程 | 我要投稿

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