鐵人賽進行到三分之一了💪🏻
繼續加油!!
Prototype Design Pattern specifies the kind of objects to create using a prototypical instance, and create new objects by copying this prototype.
-- GoF
原型模式指定使用原型實例來創建物件的種類,並透過複製該原型來創建新物件。
簡單來說就是,原型模式提供一個方法讓我們複製類別中已存在的物件,來創建一個新物件,
如果在新複製物件做了變更(例如: new object),它不會影響到原本的物件。
-- 圖片來源: Refactoring Guru
1.效能考量:
有些物件的創建成本很高,可能涉及到複雜的初始化過程、資源消耗或複雜的運算。
使用原型模式,我們可以複製現有的物件來節省這些成本,而不必每次都重新構建。
2. 大量相似物件的創建:
當需要創建大量具有相似結構但略有不同的物件時,手動創建每個物件可能會變得冗長且容易出錯。
原型模式允許我們通過複製現有物件來快速生成所需數量的物件。
3. 保護物件的內部狀態:
有時候,我們希望物件的內部狀態不受外部程式碼的干擾或修改。
原型模式確保每個客戶端都擁有自己複製過的物件,而不共享同一個實例,從而保護了內部狀態的完整性。