- 意圖
在Head First OOAD一書中提到的是,當建構物件實體時所耗用的成本會很大時,那我們就可以採用雛型模式,允許我們用copy的精神來直接利用既有已建立好的物件實體,而非再次耗用大量資源來建構新的部分物件實體內容。
雛型模式允許我們藉由複製既有的實體,建立新的實體,這表示著我們用到了clone() method,或者反序列化,這個pattern的重點在於client端根本不知道特定的類別為何的狀況下,也能建構出新的實體來。
- 好處
- 可以動態的新增或移除物件實體。
- 將製造新實體過程中複雜的部分全數隱藏起來,讓client端完全無所知。
- 讓client端可產生未知類別的實體。
- 在特定的情形下,複製物件實體比重新建立物件更有效率。
- 用途與缺點
- 在一個複雜的類別階層架構中,當系統必須從其中的許多類別產生實體化物件時,可以考慮使用雛型模式。
- 物件複製過程相當複雜
- J2SE 使用 - java.lang.Object
- 範例
沒有留言:
張貼留言