移動架構 原型模式

2021-09-16 23:13:33 字數 1137 閱讀 7597

用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件

以為是複製乙個一摸一樣的物件出來,所以說會在這個複製出來的物件上進行操作,避免破壞原來那乙個物件

在原型模式中,很多時候是由於為了操作方便,例如在工廠模式中如果需要對傳入的物件做判斷,從而呼叫其方法的時候,這樣的話就會使得工廠的**異常難維護,為了是工廠模式更利於維護,在具體類裡面就可以轉殖乙份資料用以工廠模式裡面去操作,具體用**說明,首先依舊需要乙個介面,而這個介面又需要繼承乙個拷貝物件的介面,這裡用乙個訂單拆分的例子說明

public

inte***ce

prototype

public

inte***ce

iorder

extends

prototype

在其子類中實現,這裡就寫乙個子類

public

class

personorder

implements

iorder

@override

public

void

setodernumber

(int number)

public string getordername()

public

void

setordername

(string name)

@override

public prototype cloneorder()

}

那麼若果在工廠模式中要獲取到其方法,還要做判斷,那麼就會產生過多的冗餘**,此時可以選擇在實現類中clone乙個物件

public

class

orderdealfactory

}}

如果這裡例項化的物件不同,那麼在操作的時候,就有可能需要轉型,那麼在轉型前就需要使用instanceof做判斷,這樣就破壞了其封裝性

呼叫測試

public

class

test

}

列印出來的處理位址並不是源位址,保留了源位址資料的原貌

建立型模式 原型模式

使用原型例項指定建立物件的種類,並且通過轉殖這些原型建立新的物件 原理是將乙個原型物件傳給要發動建立的物件,該物件通過請求原型物件轉殖自己來建立過程 轉殖方法 public prototype clone jdk中為我們提供了轉殖的方法clone 從object繼承下來,乙個物件要實現轉殖,需要實現...

建立型模式 原型模式

原型 prototype 模式主要用於建立物件的轉殖,通常其最簡單的形式就是採用自定 clone 函式並 傳入物件引數以返回此物件的乙個副本,這在 python 實作上可使用內定 copy.cop y 或 copy.deepcopy 函式來達到此目的。當已有乙個物件但對此物件的某些部分會被變更卻又想...

原型模式 建立型模式

文章首發個人部落格 如果我們有乙個類 sheep 它裡面有兩個屬性,名稱 name 年齡 age 現在我們有乙個它的例項 s1 我們需要按照這個例項的屬性再去建立兩個物件。1 sheep data public class sheep 2 main public class main 原型模式 用原...