Prototype Pattern 雛形樣板(Prototype Pattern)是一種自我複製的架構,將原型的物件自我複製來生成一個全新的物件,在遊戲程式設計,已經廣泛的使用。複製最有名的方法可以分為淺度複製(Shallow copy)和深度複製(Deep copy)。 (1)淺度複製 : 當複製的對象為值型別(value type)就直接複製其值; 如果複製對象是參考值(reference value )只會複製它的參考值,不會複製內容。 (2)深層複製 : 不管對象是值型別(value type)還是參考值(reference value )它都會完整複製其內容。 (3)管理的層面: 當我們複製新的物件時,如何去管理這些物件。 架構圖: 例子: 我們製作一款遊戲,當主角遇到妖怪時,妖怪會使用兩種分身術來迎戰,第一種分身為淺分身術,當其中有一個妖怪死完就過關。第二種分身為深度分身術,需要將所有的妖怪殺死才會過關。利用prototype來設計妖怪的分身術的方法。 第一種: 淺分身術 Monster描述 public class Monster implements Cloneable { // Data field private String name ; //名稱 private MonsterBlood blood ; //血量 public Monster(String name ) { this.name = name ; this.blood = new MonsterBlood(10000); } // Sallow Copy Method public Object clone() { try { System.out.println ("妖怪 使用分身術"); return super.clone() ; ...