隨著經驗的累積,對於學習基礎知識的慾望逐步增加,而 Design Pattern 就是這次的目標,藉由鐵人賽高強度的時間壓力,讓自己能夠好好學習這項新知,同時,為往後學習 System Design 鋪路。
本次的主語言仍然是採用 JS,但會用 Java 輔助學習(相關案例、語言相容性較佳),讓自己使用 Java 理解的過程中,將相關概念轉換成 JS。
緣由 大家好,我是維特,去年鐵人賽介紹 用 JavaScript、Java、C 刷 Leet Code 、前年介紹 VS Code 的人。 去年寫完的當下,「解...
物件導向程式設計是什麼? 英文原文:Object-oriented programming,簡稱 OOP。 定義 根據英文 Wiki 的定義(連結): Obj...
Design Patterns(設計模式)的起點 一切都源自於 Erich Gamma、Richard Helm、Ralph Johnson、John Vlis...
為什麼要補充? 當決定鐵人賽的題目是 Design Patterns 時,除了先 Google 看看網路的文章、心得之外,我會去看天瓏書店的網站,尋找該領域的專...
目的 傳入參數後,藉由 switch-case 來建立一系列擁有相同親代的物件 說明 作為入門 Design Pattern 的第一個模式,Simple Fac...
目的 不再限制一個工廠(物件)建立許多產品(物件),而是轉變成一個產品(物件)對應一個工廠(物件),而決定生產哪個產品(物件)則轉交給另一個決策者(物件)。 說...
目的 假如產品之間有可以負責聯繫的元素,那依賴該元素找出共同點後建立關聯,進而減少工廠的數量,卻可以維持更多的生產。 說明 昨天提到 Factory Metho...
目的 將複雜物件的建造過程標準化,確保在建立細節不同的物件時,可以避免步驟的遺漏。 說明 生產飲料(物件)時,步驟是相同的,但是細節不同,假如在生產時遺漏幾個步...
目的 實踐物件的 Deep Copy,避免 Shallow Copy 的問題以及省去重新製作物件。 說明 Prototype 源自於物件的複製問題,如果資料的型...
目的 建立一個「唯一」物件,專責於服務只能單一連線的情境,例如跟資料庫的溝通,同時確保全域內都可以呼叫該物件。 說明 Singleton 是相當好懂的模式,用在...