我大學不是主修 CS 或資訊相關科系,是畢業許多年之後才開始接觸程式開發,而後轉職成為軟體工程師。

一開始主要學習的語言是 JavaScript,學習過程中就會不時看到「物件導向」這四個字,看起來好像很重要,卻又跟我當下在寫的 JavaScript 好像沒有太大的關係,所以就一直沒有機會去深入探究。

直到進入新公司,開始寫 Angular 和 TypeScript 之後,發現程式世界跟我過去看到的有些不同,出現了類別、型別,還有很多過去沒看過的寫法(模式),突然發現自己似乎已經踏入了「物件導向程式設計」的世界而不自知。

當然如果不去深入理解它,還是能夠用自己的認知與觀念,來處理每天的開發任務。但如果能夠稍微了解一點,我想對於未來看到新事物或新問題的時候,也許就能看到以往看不到的那一面。

關於系列文

「幫自己搞懂物件導向和設計模式」的標題,很明顯就是說文章是寫給自己。網路上、各大書店當中都有數不盡關於物件導向的學習內容,但每當閱讀這些內容的時候,發現大家的解釋好像很類似卻又都不太一樣,讓我仍然感覺知其然卻不知其所以然,所以解決辦法就是,自己寫給自己好了。

這一系列文章的粗略架構為

  • 物件導向的基本觀念
  • 設計原則
  • 設計模式

寫在前面

  1. 程式碼範例主要使用 TypeScript,但是系列文當中不會特別介紹 TypeScript 的語法。如果有興趣的話,可以參閱 TypeScript 新手指南,或是可以在文章底下留言發問,我會盡可能的回覆。

  2. 前期的範例為了要突顯型別 (Type) 的存在感,因此有些範例程式碼會先故意忽略型別。如果直接執行一定會報錯。

  3. 這次的系列文不是一套完整的教學文章,而比較會是我邊走邊想的學習筆記。內容當中若有遺漏或錯誤的地方,還請大家不吝提出討論。


鐵人賽發表網址:幫自己搞懂物件導向和設計模式


#OOP #Object-oriented programming #TypeScript #2021-ironman







Related Posts

專案經理課程筆記

專案經理課程筆記

D56_W7 HW3 任務拆解、寫作業

D56_W7 HW3 任務拆解、寫作業

[ 實作問題 ] Notice: Undefined offset

[ 實作問題 ] Notice: Undefined offset


Comments