我們在學習軟體工程 (Software engineering) 的課程中,一定會接觸到軟體設計模式 (Software design pattern) 的介紹,設計模式 (Design pattern) 的概念其實跟演算法 (Algorithm) 有點像,都是為了解決在軟體工程中會一再出現的問題,這些問題通常都有反覆性、普遍性等等特性;差別在於設計模式處理的是某一類問題的通用解決方案,而演算法處理的是,某一類問題在有限步驟序列內的解答。這篇文章就是自己想針對建立型模式 (Creational pattern) 中的原型模式 (Prototype pattern) 進行筆記整理,並做為參考之用。
概觀
這個模式是經由複製 (克隆, clone) 已經存在的物件,來建立新的物件,而不是經由類別的建構元來建立新的物件。
程式執行的過程中,如果使用類別的建構元建立新的物件,會產生過多的開銷 (overhead) 影響到性能 (performance) 時,那我們就可以選擇這個模式,通過複製 (克隆) 已經存在的物件,那就可以避開反覆使用建構元產生的問題。
參考資料
教科書
線上課程
- Design Patterns in C# Prototype (Domertrain)