物件導向只是一種設計模式的表現方式
身為前端工程師的我,我在職涯求職過程中許多面試官都會問我「Design pattern」,但奇怪的是前端圈並不流行使用 class 這樣的語法,我常常感到困惑⋯⋯
「真的有需要學習 Design pattern 嗎?」
隨著學習的道路,我依然技能樹是純純的前端工程師,但在學習過程中我逐漸體會到「何謂 Design pattern?」。原來設計模式並非是網路上看到的那些範例,而是一種程式碼使用的「精神」,並不限制於「物件導向」這樣的寫法。
隨著 React hook 和 Vue composition 的流行,前端逐漸開始走向 functional programming 的概念,這是和物件導向皆然不同的理念。我逐漸發現有很多設計方式是傳統物件導向設計模式沒有的設計,最經典的大概就是「Curry」,這種模式是物件不需要的模式。
但其實這樣說又有點武斷了,因為其實只是不同的設計模式產生的混合變體。我也逐漸發現太受到「程式碼的形狀」來理解設計模式,開始知道要學習的「精髓」在那裡了⋯⋯
你有學過 Design Pattern 嗎?如果不使用 class,依然會是你認知的設計模式嗎?