設計模式詳解 原型模式

2021-10-07 10:51:34 字數 736 閱讀 5167

原型模式(prototype pattern)是用於建立重複的物件,同時又能保證效能。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。

這種模式是實現了乙個原型介面,該介面用於建立當前物件的轉殖。當直接建立物件的代價比較大時,則採用這種模式。例如,乙個物件需要在乙個高代價的資料庫操作之後被建立。我們可以快取該物件,在下乙個請求時返回它的轉殖,在需要的時候更新資料庫,以此來減少資料庫呼叫。

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

淺拷貝:將乙個物件複製後,基本資料型別的變數都會重新建立,而引用型別,指向的還是原物件所指向的。

深拷貝:將乙個物件複製後,不論是基本資料型別還有引用型別,都是重新建立的。簡單來說,就是深複製進行了完全徹底的複製,而淺複製不徹底。

注意事項:與通過對乙個類進行例項化來構造新物件不同的是,原型模式是通過拷貝乙個現有物件生成新物件的。淺拷貝實現 cloneable重寫,深拷貝是通過實現 serializable 讀取二進位製流。

深拷貝vs淺拷貝

深拷貝:物件進行深拷貝要對整個物件進行拷貝

深拷貝實現方式:重寫clone方法、序列化和反序列化

設計模式詳解 原型模式

是指原型例項指定建立物件的種類,並通過拷貝這些原型建立新的物件。而呼叫者不需要知道任何建立細節,不呼叫建構函式 其實就是如何快速構建物件的方法總結,比如簡單工廠將getter setter封裝到某個方法中 jdk提供實現cloneable介面,實現快速複製。當初在spring配置scope prot...

設計模式 原型模式

1.首先分析原型模式的由來 一般來說,建立乙個物件可以由以下方法 知道物件的具體型別,直接用new生成。不知道型號,知道相應的需求,可以使用工廠方法模式。根據乙個已有的物件來複製為乙個新的物件,可以使用原型模式。2.原型模式可以簡單理解為拷貝原型物件得到新的物件。想象乙個配鑰匙的小店,給店主乙個原有...

設計模式 原型模式

魔術師手拿一張百元大鈔,瞬間又變出兩張。也像配鑰匙一樣,拿一把鑰匙,老師傅就能做出另乙個一模一樣的。像這種複製我們並不陌生,類似於我們設計中的原型模式 本文將從以下幾點 原型模式 概述 結構圖 淺複製深複製 總結 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。允許乙個物件再建立另外...