隨著編寫的程式越來越多,不難發現有些問題會在多個專案中重複出現,頂尖軟體專家過去也同樣經歷過,他們對這些問題提出一系列的解法,這些解法稱為 "設計模式...
什麼是單例模式(Singleton pattern)? 單例確保類別(class)只存在一個實例,且該實例就像全域變數一般,可被同程式的任何人訪問。 解決的問題...
介紹當需要一個物件的複本,可先創建出一個新的該類別物件,再將其成員設為欲複製物件的內容。但有時重新創建物件所需的成本太高,像是物件成員值需透過耗時的操作取得(如...
介紹工廠模式是將物件創建的動作封裝起來,並通過一個共用介面來指向新創建的物件。工廠模式依實作方式分三類: 簡單工廠模式(Simple factory)、工廠方法...
介紹相較於簡單工廠模式,工廠方法模式將工廠端抽象化,讓實作該工廠的子工廠處理要創建的產品。可想像為原工廠的產線可生產玩具、文具、廚具,工廠方法模式將該工廠產線依...
介紹抽象工廠模式類似於生產家族產品的概念,像是麥當勞與肯德基皆是速食店,皆生產類似的產品(ex.漢堡、薯條..),但兩者的漢堡與薯條肯定不會相同,使用的麵包、醬...
介紹建造模式將複雜物件的建造過程抽象出來,該抽象可被不同創建細節的物件所實作。 以海綿寶寶卡通為例,海綿寶寶製作蟹堡是將食材從下往上堆疊,每層使用的食材是根據蟹...
介紹適配器模式用來將一介面轉變為另一個介面。 適配器模式在legacy code與新code結合的過程有不錯的效果。Legacy code因存在時間長,已有大量...
介紹橋接模式將介面與實作分離,提升兩者變化的彈性。 以下展示皮老闆成功偷取蟹堡秘方後,海之霸開始賣蟹堡 C++範例 #include <iostream&...
介紹外觀模式將一系列的操作藏在介面後,方便用戶統一操作。 舉個例子: 到家後會開電燈、開電視、開冷氣。出門前會關冷氣、關電視、關電燈。每天進出門要按那麼多按鈕,...