參考:
這種原型模式感覺沒啥用,因為他只能clone基本型別,如果是自定義類,是無法拷貝的,屬於淺拷貝,而且被拷貝的類還需要實現介面,太過於麻煩。
這種原型模式是採用序列化,將物件序列化成位元組,再反序列化得到拷貝物件。
/**
* 只能拷貝相同的物件
* @param source 被轉殖的物件
* @return
*/public static t depthclone(t source) throws exception
缺點:只能說是複製出乙個新的類,但是在實際業務中,我們常會在不同層級使用不同的的類,例如do、dto、bo、ao、vo之間的互相轉換,他們只是字段相同,但是類不同,那麼用上面**就不行了。
do、dto、bo、ao、vo說明參考:
參考:
(5)原型模式prototype
原型模式是用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。概念 prototype模式是一種物件建立型模式,它採取賦值原型物件的方法來建立物件的例項。使用prototype模式建立的例項,具有與原型一樣的資料。1 由原型物件自身建立目標物件。也就是說,物件建立這一動作發自原型物件本身...
設計模式 5 原型模式
用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。其中有乙個詞很重要,那就是拷貝。可以說,拷貝是原型模式的精髓所在。舉個現實中的例子來介紹原型模式。找工作的時候,我們需要準備簡歷。假設沒有列印裝置,因此需手寫簡歷,這些簡歷的內容都是一樣的。這樣有個缺陷,如果要修改簡歷中的某項,那麼所有...
5種建立型模式之原型模式(二)
在有些系統中,存在大量相同或相似物件的建立問題,如果用傳統的建構函式來建立物件,會比較複雜且耗時耗資源,用原型模式生成物件就很高效,原型 prototype 模式的定義如下 用乙個已經建立的例項作為原型,通過複製該原型物件來建立乙個和原型相同或相似的新物件。在這裡,原型例項指定了要建立的物件的種類。...