1、原型模式意圖:
用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。
2、場景描述:
原型模式,利用例項自身的轉殖功能來得到與原例項相同的新的例項。
設想西遊記中的乙個場景,唐僧師徒四人(白龍馬除外),不過,該唐僧是個多事、喜歡使喚徒弟的唐僧。每當有事時,唐僧便會使喚他的三個徒弟去做。但是三個徒弟盡職盡責,為了保護師傅,必須留在唐僧身邊。此時,多虧了三個徒弟能夠千變萬化,且都可通過毛髮來變作自身(八戒、沙僧不知是否具有此功能?暫時看做有吧)。當唐僧需要洗衣、化齋、喝水、探路、借宿、吃水果等時,便會吩咐乙個徒弟去做,此時該徒弟便通過具有的「轉殖」功能產生乙個新的自己去做這些事情,自己仍舊守護在唐僧身邊。
3、原型模式類圖:
角色:
協作:
4、例項類圖:
說明:當唐僧同學有事要做,比如洗衣(xiyi)時,便會派乙個徒弟去河邊洗衣服。
例項類圖中的類基本對應原型模式的類圖。
5、例項**:
tangseng類的**,對應使用者類,相當於乙個自產自銷的工廠。
1其他類的**相對簡單些,此處不列出,主要是提供自身轉殖功能。public
class
tangseng
1112
public
void
jiesu()
1718
public
void
chishuiguo()
2324
public
void
huazhai()
2930
31/*
其他事情。。。。
*/32 }
6、原型模式特點:
建立型 原型模式
將乙個物件作為原型,對其進行複製 轉殖,產生乙個和原物件類似的新物件。淺複製 將乙個物件複製後,基本資料型別的變數都會重新建立,而引用型別,指向的還是原物件所指向的。深複製 將乙個物件複製後,不論是基本資料型別還有引用型別,都是重新建立的。優點 當直接建立物件的代價比較大時,採用這種模式會使建立效能...
建立型設計 原型模式
宣告一下 本文的文字多數文字都是來自網上,只有例子是自己寫的。因為自我感覺還沒有能力能夠系統的解釋乙個模式,已經有現成的比較完善的說明,就不重複造輪子哈。原型模式是一種建立型設計模式,它通過複製乙個已經存在的例項來返回新的例項,而不是新建例項.被複製的例項就是我們所稱的原型,這個原型是可定製的。原型...
06 建立型 原型模式
package create.e.prototype 原型業務類 需要實現轉殖介面 public class dog implements cloneable public void changelegcounts public string tostring override protected ...