實踐和思考的重要意義

Dennis_Ritchie發表於2019-11-30

感觸

最近這段時間,包括以前,經常聽到,程式設計師們大談 設計模式,這個話題並不陌生,面試必問的問題,活了這麼多年,我就一直沒搞清楚,為啥面試官喜歡問這個問題。如果一個面試官喜歡問這種問題,我覺得也沒啥意思。就我個人而言,我覺得毫無意義。如果你在百度上面搜尋的話,關於設計模式的博文或者討論,鋪天蓋地而來。這都沒有問題,問題是,你是否真的理解了設計模式背後的含義,你是否真的需要理解它。

談程式碼設計

設計模式這個詞,來源於計算機大師們,經年來月的經驗總結,在進行復雜的系統設計的時候,應該考慮的問題。他們給我們提出了一種設計思想,而不是去生搬硬套,我們是不是在進行實際操作的時候,有所變更,而不是為了程式碼的華麗,去高談闊論。

設計來源於經驗總結,如果你從沒一個人在公司開發獨立的專案,我覺得你很難理解設計模式這個詞的意義,在這幾年的開發中,我有幸負責過一些獨立的開發專案,也負責過一些專案的中比較棘手的部分,開發起來比較複雜,如何適應不斷變化的需求系統的橫向擴充套件性如何將各個需求獨立開來,而不會互相影響,這成為了我必須思考的問題,我從不會去查閱當前到底有哪些設計模式可以借鑑,我覺得,我的設計就是最好的設計,為啥?因為它滿足我現在的需求,我想不到會有比這個更好的辦法,有一天你再回去看設計模式的時候,你會發現你的設計就是別人已經總結出來的所謂設計模式,設計模式很自然的體現在你的程式碼中。等你有足夠的程式設計經驗,你已經不需要知道你是否會設計模式,因為你已經懂了,也不需要有人教你,你需要的只是思考和不斷的聯絡,這個別人也教不會,就像是武俠中很多高深的武學,師傅可以教你基本的武學招式,但是如何領悟這門武學的精髓,只能靠你自己。

反常現象

工作這麼多年,我發現身邊的人,都不怎麼用介面,抽象類,繼承,這是一個非常奇怪的現象,如果你不用這些東西,你是怎麼實現所謂的設計的,你想過沒有,為啥語言會有這個東西。

實踐

聽別人講和自己去寫,完全是兩種情況,我們總說:實踐是檢驗真理的唯一標準,但是真正去踐行的人,又有幾個啊。與其誇誇其談,不如拿起你的鍵盤,敲起來,我很喜歡這句話:我不要你覺得,我要我覺得,我覺得不行,那就是不行。我在之前寫的一篇部落格就提到過,切記不要隨波逐流,聽風就是雨,要具有自己的判斷能力,也可以多諮詢身邊值得信賴的人。古人常說:讀萬卷書,不如行萬里路,自己去體會。

如果有不懂的地方,可以加我的qq:1174332406,或者是微信:itshardjs,公眾號:LearnCodeHard

相關文章