建立型 原型模式

2022-08-17 11:30:19 字數 974 閱讀 7353

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 ...