iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
自我挑戰組

設計模式 系列

隨著編寫的程式越來越多,不難發現有些問題會在多個專案中重複出現,頂尖軟體專家過去也同樣經歷過,他們對這些問題提出一系列的解法,這些解法稱為 "設計模式"。

鐵人鍊成 | 共 30 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day1 - 什麼是設計模式?

隨著編寫的程式越來越多,不難發現有些問題會在多個專案中重複出現,頂尖軟體專家過去也同樣經歷過,他們對這些問題提出一系列的解法,這些解法稱為 "設計模式...

2023-09-14 ‧ 由 scout 分享
DAY 2

Day2 - 單例模式(Singleton pattern)

什麼是單例模式(Singleton pattern)? 單例確保類別(class)只存在一個實例,且該實例就像全域變數一般,可被同程式的任何人訪問。 解決的問題...

2023-09-15 ‧ 由 scout 分享
DAY 3

Day3 - 原型模式(Prototype pattern)

介紹當需要一個物件的複本,可先創建出一個新的該類別物件,再將其成員設為欲複製物件的內容。但有時重新創建物件所需的成本太高,像是物件成員值需透過耗時的操作取得(如...

2023-09-16 ‧ 由 scout 分享
DAY 4

Day4 - 工廠模式: 簡單工廠模式(Simple factory pattern)

介紹工廠模式是將物件創建的動作封裝起來,並通過一個共用介面來指向新創建的物件。工廠模式依實作方式分三類: 簡單工廠模式(Simple factory)、工廠方法...

2023-09-17 ‧ 由 scout 分享
DAY 5

Day5 - 工廠模式: 工廠方法模式(Factory method pattern)

介紹相較於簡單工廠模式,工廠方法模式將工廠端抽象化,讓實作該工廠的子工廠處理要創建的產品。可想像為原工廠的產線可生產玩具、文具、廚具,工廠方法模式將該工廠產線依...

2023-09-18 ‧ 由 scout 分享
DAY 6

Day6 - 工廠模式: 抽象工廠模式(Abstract factory pattern)

介紹抽象工廠模式類似於生產家族產品的概念,像是麥當勞與肯德基皆是速食店,皆生產類似的產品(ex.漢堡、薯條..),但兩者的漢堡與薯條肯定不會相同,使用的麵包、醬...

2023-09-19 ‧ 由 scout 分享
DAY 7

Day7 - 建造模式(Builder pattern)

介紹建造模式將複雜物件的建造過程抽象出來,該抽象可被不同創建細節的物件所實作。 以海綿寶寶卡通為例,海綿寶寶製作蟹堡是將食材從下往上堆疊,每層使用的食材是根據蟹...

2023-09-20 ‧ 由 scout 分享
DAY 8

Day8 - 適配器模式(Adapter pattern)

介紹適配器模式用來將一介面轉變為另一個介面。 適配器模式在legacy code與新code結合的過程有不錯的效果。Legacy code因存在時間長,已有大量...

2023-09-21 ‧ 由 scout 分享
DAY 9

Day9 - 橋接模式(Bridge pattern)

介紹橋接模式將介面與實作分離,提升兩者變化的彈性。 以下展示皮老闆成功偷取蟹堡秘方後,海之霸開始賣蟹堡 C++範例 #include <iostream&...

2023-09-22 ‧ 由 scout 分享
DAY 10

Day10 - 外觀模式(Facade pattern)

介紹外觀模式將一系列的操作藏在介面後,方便用戶統一操作。 舉個例子: 到家後會開電燈、開電視、開冷氣。出門前會關冷氣、關電視、關電燈。每天進出門要按那麼多按鈕,...

2023-09-23 ‧ 由 scout 分享