之前讀到了一段話,很好,今天分享給大家。
放眼未來,擁抱變化,是非常值得推薦的。反之,也可以用另一種思路看待問題,放眼未來,關(guān)注不變的東西,進而抓住事務的本質(zhì)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 顯然學習設計模式就是在變化中尋求不變,設計模式是經(jīng)過沉淀的東西。從編程的角度來說:設計模式是一套被反復使用的、多數(shù)人知曉的、經(jīng)過分類編程的、代碼設計經(jīng)驗的總結(jié)。使用設計模式是為了重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。設計模式最初來源于建筑行業(yè),這也就是說設計模式不是軟件行業(yè)專屬的東西。從更高的維度來說:設計模式是一種經(jīng)過沉淀的,被反復使用的,設計經(jīng)驗的總結(jié)。因此,在每個行業(yè)都有自己的設計模式。
? ? 設計模式的本質(zhì)就是對設計原則的落地,而設計原則的本質(zhì)是:經(jīng)驗。經(jīng)驗是我們在歷史的勞動中對實踐的總結(jié),來指導我們當下或未來把要做的事情做的更好。學習設計模式,就是學習前人的經(jīng)驗。這些經(jīng)驗經(jīng)過了漫長的實踐積累,我們只有通過悟性和不斷反復的針對訓練才可習得。習得設計模式,會給我們帶來煥然一新的看待世界的眼光和思考問題的維度。
學習設計模式的優(yōu)點
1.提升認知
? ? 學習設計模式的本質(zhì)就是提升認知。設計模式中包含的著各種設計思想的精髓,掌握了設計模式,我們可以將設計模式的思想運用到日常的工作和生活中。比如:當我們想開公司時我們就可以借鑒設計模式的思想,要把公司分成哪些部門,每個部門的職責是什么,這些部門之間的職責邊界在哪里,如何協(xié)同完成工作。同時,在公司組織結(jié)構(gòu)調(diào)整時,我們也可以借鑒設計模式的思想,使公司煥發(fā)活體,提升效率。
2.讀懂源碼,提升代碼水平
? ? 作為一名軟件從業(yè)者,必然要去讀一讀優(yōu)秀開源項目的源碼。而優(yōu)秀項目的源碼不可或缺的會使用到設計模式來使每個模塊的職責功能更加單一,邊界更加的清晰,模塊間耦合程度更低。讀源碼,不懂設計模式確實也能讀懂源碼,但是不懂設計模式讀到的源碼是更加傾向于讀懂源碼的功能的,這個過程你不會意識到作者的設計理念是什么。當你設計模式入門了以后,你會愈發(fā)強烈的感覺到開源代碼在設計上有優(yōu)秀,精到,拍案叫絕之處。作為一名工程師,要想寫出有靈魂,有生命力的代碼,設計模式也是不可或缺的核心技能。
3.一次學習,終身受益
? ? 設計模式是經(jīng)過沉淀形成的經(jīng)典的設計思想,不會隨著時間的流逝而變的過時,且當你掌握設計模式的思想以后,每隔一段時間你就就會有一些新的認知,這些認知會助力你做一些關(guān)鍵性的決策。當前互聯(lián)網(wǎng)應用技術(shù)不斷迭代,但這些新的應用技術(shù)都是建立在已經(jīng)完善的了基礎理論之上,與其不斷的去追求表面上高大上的新技術(shù),不妨來學習一下更加底層,更加具有普適性的原理或思想,這將更加有助于你理解和學習新的應用技術(shù)。
4.互聯(lián)網(wǎng)面試利器
? ? 在面試的過程中熟練使用設計模式是一個加分項,如果要是面試架構(gòu)師則是不可或缺的技能,能夠有效的將知識能力變現(xiàn)。