iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

也該是時候學學 Design Pattern 了 系列

隨著經驗的累積,對於學習基礎知識的慾望逐步增加,而 Design Pattern 就是這次的目標,藉由鐵人賽高強度的時間壓力,讓自己能夠好好學習這項新知,同時,為往後學習 System Design 鋪路。

本次的主語言仍然是採用 JS,但會用 Java 輔助學習(相關案例、語言相容性較佳),讓自己使用 Java 理解的過程中,將相關概念轉換成 JS。

鐵人鍊成 | 共 31 篇文章 | 20 人訂閱 訂閱系列文 RSS系列文 團隊Outcome First 2.0
DAY 1

Day 01: 緣由、大綱

緣由 大家好,我是維特,去年鐵人賽介紹 用 JavaScript、Java、C 刷 Leet Code 、前年介紹 VS Code 的人。 去年寫完的當下,「解...

DAY 2

Day 02: JavaScript 與 物件導向程式設計

物件導向程式設計是什麼? 英文原文:Object-oriented programming,簡稱 OOP。 定義 根據英文 Wiki 的定義(連結): Obj...

DAY 3

Day 03: 面對 Design Pattern 該有的知識

Design Patterns(設計模式)的起點 一切都源自於 Erich Gamma、Richard Helm、Ralph Johnson、John Vlis...

DAY 4

Day 04: 進入主題前的補充:SOLID

為什麼要補充? 當決定鐵人賽的題目是 Design Patterns 時,除了先 Google 看看網路的文章、心得之外,我會去看天瓏書店的網站,尋找該領域的專...

DAY 5

Day 05: Creational patterns - Simple Factory Method

目的 傳入參數後,藉由 switch-case 來建立一系列擁有相同親代的物件 說明 作為入門 Design Pattern 的第一個模式,Simple Fac...

DAY 6

Day 06: Creational patterns - Factory Method

目的 不再限制一個工廠(物件)建立許多產品(物件),而是轉變成一個產品(物件)對應一個工廠(物件),而決定生產哪個產品(物件)則轉交給另一個決策者(物件)。 說...

DAY 7

Day 07: Creational patterns - Abstract Factory

目的 假如產品之間有可以負責聯繫的元素,那依賴該元素找出共同點後建立關聯,進而減少工廠的數量,卻可以維持更多的生產。 說明 昨天提到 Factory Metho...

DAY 8

Day 08: Creational patterns - Builder

目的 將複雜物件的建造過程標準化,確保在建立細節不同的物件時,可以避免步驟的遺漏。 說明 生產飲料(物件)時,步驟是相同的,但是細節不同,假如在生產時遺漏幾個步...

DAY 9

Day 09: Creational patterns - Prototype

目的 實踐物件的 Deep Copy,避免 Shallow Copy 的問題以及省去重新製作物件。 說明 Prototype 源自於物件的複製問題,如果資料的型...

DAY 10

Day 10: Creational patterns - Singleton

目的 建立一個「唯一」物件,專責於服務只能單一連線的情境,例如跟資料庫的溝通,同時確保全域內都可以呼叫該物件。 說明 Singleton 是相當好懂的模式,用在...