23種設計模式之原型模式(Prototype)
在系統開發過程中,有時候有些對象需要被頻繁建立,原型模式通過給出一個原型對象來指明所要建立的對象的類型,然後通過複制這個原型對象的辦法,建立出更多同類型的對象。原型模式是一種對象建立型模式,用原型執行個體制定建立對象的種類,并且通過複制這些原型建立新的對象。原型模式又可分為兩種:淺克隆和深克隆。淺克隆僅僅複制所考慮的對象,而不複制它所引用的對象,也就是其中的成員對象并不複制;深克隆除了對象本身被複制外,對象包含的引用也被複制,即成員對象也被複制。
優點:
1)可以在運作時添加或删除産品。
2)通過改變值指定新對象。
3)通過改變結構指定新對象。
4)減少子類的生成和使用。
5)可以用類動态地配置應用程式。
使用場景:
1)在運作時,指定需要執行個體化的類,例如動态載入。
2)避免建構于産品的類層次結構相似的工廠類層次結構。
3)當類的執行個體是僅有的一些不同狀态組合之一的時候。
Prototype 模式