目錄
- 01 - 什么是設計模式?
- 02 - 為什么要學習設計模式?
- 2.1 完美回答面試中設計模式相關的問題
- 2.2 不再撰寫被其他同事吐槽的爛代碼
- 2.3 讓讀原始碼、學框架事半功倍
- 2.4 提高復雜代碼的設計和開發能力
- 2.5 為職場發展做好技術準備
- 03 - 本篇總結
- 參考資料:
- 著作權宣告
01 - 什么是設計模式?
設計模式是前人經驗的總結,教大家如何寫出可擴展、可讀、可維護的高質量代碼,設計模式與日常作業中的編碼有直接的關系,直接影響到開發人員的開發能力,
學習“資料結構與演算法”是為了寫出高效的代碼,而學習設計模式是為了寫出高質量的代碼,
也許有同學會問:只要代碼能用、能解決問題不就夠了嗎?
其實不然,寫出“能用”代碼的人比比皆是,但并不是每個人都能寫出“好用”的代碼,只會寫能用的代碼,永遠成不了大牛,
另一方面,寫爛代碼和好代碼花費的時間是差不多的,當你把撰寫高質量代碼培養成習慣之后,在撰寫代碼的時候,你自然就有代碼質量意識,也就能寫出不錯的代碼,
02 - 為什么要學習設計模式?
2.1 完美回答面試中設計模式相關的問題
先上一道面試題:
“你了解設計模式嗎?在你過往的專案中,用到過哪些設計模式?是在什么場景下用的?都解決了哪些問題?”
這一連串提問,很眼熟吧?學習設計模式能幫你在這道題目上吊打面試官,
2.2 不再撰寫被其他同事吐槽的爛代碼
代碼寫得好,能讓你在團隊中脫穎而出,
代碼能力是一個程式員最基礎的能力,是展示一個程式員基礎素養直接的衡量標準,你寫的代碼,實際上就是你名片,
2.3 讓讀原始碼、學框架事半功倍
提升程式開發軟實力,就要注重技術的積累,既要有廣度,也要有深度,這其中學框架、讀原始碼是必經之路,
優秀的開源專案、框架、中間件,是集各大頂尖高手的豐厚經驗,經過大量迭代才成型的,我們如果沒有身后的基本功,在剖析原理、學習技術的時候,就不可能參透精髓,頂多只是了解個皮毛,似懂非懂,
2.4 提高復雜代碼的設計和開發能力
假設現在給你一個任務:開發一個跟業務無關的、通用的功能模塊,你會如何下手?
也許你需要思考這些問題(包括但不限于):
如何分層、分模塊?如何設計相關類?每個類應該有哪些屬性、方法?
怎么設計類之間的互動?該用繼承還是組合?該使用介面還是抽象類?
如何解耦,保證高內聚低耦合?該用單例模式還是靜態方法?用工廠模式創建物件還是直接 new 出來?
2.5 為職場發展做好技術準備
瘦風說:不想當大牛的程式員不是好菜鳥,我們如果要在職場取得更長遠的發展,就要重視基本功的訓練和基礎知識的積累,
(1) 隨著技術的積累,我們可能需要承擔一些培養新人、指導初級員工、做 code review 等方面的作業,
可如果我們自己對 “什么是好代碼?如何寫出好代碼?” 都不了解,那又要如何指導別人、讓別人信服呢?
(2) 如果你的級別比較高,可能還要為 開發進度、開發效率和專案質量 負責,如果專案中有很多垃圾代碼,會導致整個專案的維護成本高昂,添加、修改一個功能都會很費力,最終拉低整個團隊的開發效率,而代碼質量不夠高,還會導致線上 bug 頻發,也難以及時排查解決相關問題,
(3) 最后,當你成為團隊的 leader,或者資深工程師、技術專家之后,你肯定要負責一部分團隊的招聘作業,這時,如果要考察候選人的設計能力、代碼能力,那設計模式相關的問題會是一個很好的切入點,
03 - 本篇總結
設計模式與編碼、開發有著直接的關系,是你現在就要開始學習的,
早點學,以后的專案就都可以拿來鍛煉,每寫一行代碼都是對內功的使用和強化,是可以在整個職業生涯中受益的事,
參考資料:
極客時間專欄-王爭《設計模式之美》
著作權宣告
作者: 瘦風(healchow.com)
出處: 瘦風的南墻(cnblogs.com/shoufeng)
感謝閱讀, 右側導航欄有「瘦風的南墻」公眾號二維碼,輸出更及時、更體系,歡迎掃碼關注??
本文著作權歸博主所有, 歡迎轉載, 但 [必須在頁面明顯位置標明原文鏈接], 否則博主保留追究相關人士法律責任的權利.
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/22717.html
標籤:設計模式
上一篇:圖解Java設計模式之UML類圖
