開始新階段工作。可能大家不知道“工作”這個詞是外來語,從日本傳入中國的。我說為啥工作這么累呢。十一期間利用業(yè)余時間補習一下 java。主要是了解一些有關 java8 和 java 函數(shù)式編程的知識,這里推薦一本書,推薦大家開英文原版,如下圖
?不過,與以往埋頭學習不同,這個假期大部分時間是與家人共度。其實工作的目的是讓我們更好生活,希望我們每個人都是讓生活驅動工作,而不是工作驅動生活。
????今天聊一聊函數(shù)式編程,確切說 java 中的函數(shù)式編程,大家可能會質(zhì)疑 java 不是經(jīng)典的面向對象的編程語言嗎?您說的沒錯。
????那是 java8 出現(xiàn)前的事, java8 后讓 java 向函數(shù)式編程敞開一扇大門。這樣做也是順應當下潮流,我們不說當下流行的語言不是天生就支持函數(shù)式編程,就是后天為能夠實現(xiàn)函數(shù)編程而不斷變異。
????現(xiàn)在連 Java 的小弟 scala 都對函數(shù)編程良好支持,當大哥的也不能示弱,不惜余力全力推出 java 8 ,我是從 java6 開始接觸到 java ,所以感覺 java8 的新特性多半是為函數(shù)式編程而生, lamba 的出現(xiàn),讓我們完全可以放心拋棄看上去有點勉強的匿名類,使用 lamba 來代替匿名類。java8 可以算 java 語言的一個里程碑的版本。讓我們的 java 的代碼更加 fluent 了。
函數(shù)式編程相對于面向對象編程要相對抽象一些,我們需要花費一些心思在框架設計,但是使用函數(shù)式編程的好處也是不言而喻。函數(shù)式好處就是他的確定性,因為他確定性,所以很容易對他進行測試??墒俏覀兪澜缡遣淮_定的,例如網(wǎng)絡狀態(tài)時好時壞,io 數(shù)據(jù)讀取,這些超出我們應用的控制范圍。我們怎么把程序控制范圍內(nèi)確定性的東西分離出來,這就需要我們開發(fā)人員多花一些心思了。
????其實我們開發(fā)過程中也無需非黑即白地追求函數(shù)式編程,完全放棄面向對象編程。如果你不會恰當使用灰色,這個世界也就不那么豐富多彩了。
請大家多多支持我的微信公眾號,這里有更多更快的文章
