Prototype模式允許對象在不了解要創建對象的確切類以及如何創建等細節的情況下創建自定義對象。使用Prototype實例,便指定了要創建的對象類型,而通過複製這個Prototype,就可以創建新的對象。Prototype模式是通過先給出一個對象的Prototype對象,然後再初始化對象的創建。創建初始化後的對象再通過Prototype對其自身進行複製來創建其他對象。Prototype模式使得動態創建對象更加簡單,只能將對象類定義成能夠複製自身就可以實現。
其優點如下:
•可以在運行時添加或刪除產品。
•通過改變值指定新對象。
•通過改變結構指定新對象。
•減少子類的生成和使用。
•可以用類動態地配置應用程式。
在以下情況中,應該使用Prototype模式:
•在運行時,指定需要例化的類,例如動態載入。
•避免構建與產品的類層次結構相似和工廠類層次結構。
•當類的實例是僅有的一些不同狀態組合之一的時候。