這個問題,通常會讓很多人有點不知所措,感覺我一直在編碼,但是說到思想很難去闡述。

下面,我說說自己的想法,

首先,談談「面向過程」vs「面向對象」

我覺得這兩者是思考角度的差異,面向過程更多是以「執行者」的角度來思考問題,而面向對象更多是以「組織者」的角度來思考問題,舉個例子,比如我要產生一個0-10之間的隨機數,如果以「面向過程」的思維,那我更多是關注如何去設計一個演算法,然後保證比較均衡產生0-10的隨機數,而面向對象的思維會更多關注,我找誰來幫我們做這件事,比如Random類,調用其中提供的方法即可。

所以,面向對象的思維更多的是考慮如何去選擇合適的工具,然後組織到一起幹一件事。

好比一個導演,要拍一場電影,那麼首先要有男豬腳和女豬腳,然後還有其他等等,最後把這些資源組織起來,拍成一場電影。

再說回我們的程序世界,這個組織者的思維無處不在,比如,我們要開發項目,以三層架構的模式來開發,那麼這個時候,我們不需要重複造輪子,只需要選擇市面上主流的框架即可,比如SpringMVC,Spring,MyBatis,這些都是各層的主流框架。

好了,今天就到這,大家可以自己再想很多這樣的例子出來,每天一篇,持續更新

天氣寒冷,來杯熱茶暖暖手


推薦閱讀:
相關文章