06 建立型 原型模式

2022-07-17 06:03:10 字數 769 閱讀 2195

package create.e.prototype;

//原型業務類 需要實現轉殖介面

public class dog implements cloneable

public void changelegcounts()

public string tostring()

@override

protected object clone() throws clonenotsupportedexception catch(clonenotsupportedexception e)

return o; }

}

package create.e.prototype;

//原型複製類

public class dogclone implements cloneable catch(clonenotsupportedexception e)

o.dog = (dog)dog.clone();

return o; }

}

package create.e.prototype;

//業務呼叫類

public class client

}

優點:可以動態新增產品,並不會影響到整體的結構

缺點:每個原型類都需要配備乙個轉殖方法,這需要在設計初期就要通盤考慮清楚,因為如果在已有的類基礎上再去新增轉殖方法是比較困難的。另外就是如果需要實現深層次複製時,需要編寫一定量的**

建立型 原型模式

將乙個物件作為原型,對其進行複製 轉殖,產生乙個和原物件類似的新物件。淺複製 將乙個物件複製後,基本資料型別的變數都會重新建立,而引用型別,指向的還是原物件所指向的。深複製 將乙個物件複製後,不論是基本資料型別還有引用型別,都是重新建立的。優點 當直接建立物件的代價比較大時,採用這種模式會使建立效能...

建立型 原型模式

1 原型模式意圖 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。2 場景描述 原型模式,利用例項自身的轉殖功能來得到與原例項相同的新的例項。設想西遊記中的乙個場景,唐僧師徒四人 白龍馬除外 不過,該唐僧是個多事 喜歡使喚徒弟的唐僧。每當有事時,唐僧便會使喚他的三個徒弟去做。但是三個...

建立型設計 原型模式

宣告一下 本文的文字多數文字都是來自網上,只有例子是自己寫的。因為自我感覺還沒有能力能夠系統的解釋乙個模式,已經有現成的比較完善的說明,就不重複造輪子哈。原型模式是一種建立型設計模式,它通過複製乙個已經存在的例項來返回新的例項,而不是新建例項.被複製的例項就是我們所稱的原型,這個原型是可定製的。原型...