了解23種設計模式之原型模式

2021-10-06 08:48:21 字數 1508 閱讀 1367

一,什麼是原型模式。

prototype 模式 是一種物件建立型模式,它採取複製原型物件的方法來建立物件的例項。使用prototype模式建立的例項,具有與原型一樣的資料。

二,原型模式的特點。

由原型物件自身建立目標物件,通過實現介面 (cloneable) ,目標物件是原型物件的乙個轉殖,不僅僅是具有相同的結構,屬性,還與原型物件具有相同的值。

但是 在例項化目標物件,和例項化原型物件後, 在jvm 虛擬機器 堆記憶體裡是 兩個位址不相同的引用物件。

根據物件轉殖深度層次的不同,有淺度轉殖與深度轉殖。

三,例項。

3.1 淺度轉殖

3.2 深度轉殖物件

總結:在建立物件的時候,我們不只是希望被建立的物件繼承其基類的基本結構,還希望繼承原型物件的資料

希望對目標物件的修改不影響既有的原型物件(深度轉殖的時候可以完全互補影響)

隱藏轉殖操作的細節,很多時候,對物件本身的轉殖需要涉及到本身的資料細節

23種設計模式 原型模式

在軟體系統中,經常面臨著 某些結構複雜的物件 建立工作 由於需求的變化,需要建立的物件的具體型別經常變化,但是它們卻有比較穩定一致的介面。如何應對這種變化?如何向客戶程式 使用這些物件的程式 隔離出 這些易變物件,從而使得 依賴這些易變物件的客戶程式 不隨著需求改變而改變?實現了乙個原型介面,該介面...

23種設計模式之原型模式(Prototype)

在系統開發過程中,有時候有些物件需要被頻繁建立,原型模式通過給出乙個原型物件來指明所要建立的物件的型別,然後通過複製這個原型物件的辦法,建立出更多同型別的物件。原型模式是一種物件建立型模式,用原型例項制定建立物件的種類,並且通過複製這些原型建立新的物件。原型模式又可分為兩種 淺轉殖和深轉殖。淺轉殖僅...

23種設計模式 (7)原型模式

定義 1不通過new 關鍵字來產生乙個物件,而是通過物件複製 2 用原型例項指定建立物件的中了你,並且通過拷貝這些原型建立新的物件 public class prototypeclass implements cloneable catch clonenotsupportedexception e ...