設計模式 七)原型模式

2021-08-21 20:39:58 字數 613 閱讀 8665

原型模式。 原型模式的場景如下:

有乙個需求,需要傳送個性化電子賬單。或者乙個祝福語,也就是說除了姓名不一樣,其他不部分很可能一樣。針對這種場景,如果採用單執行緒,每乙個使用者20ms的時間,如果上100萬人,需要傳送時間為 2ws=200/36小時。如果設計8:00收到,那麼可能最後乙個人到下午2點才收到,顯然不可接受。 當然,目前大多採用多執行緒,多執行緒帶來乙個併發問題。隨之而來的是一些解決方案。

同樣,原型模式,通過複製乙份物件的操作,某些情況下也可以達到解決併發的問題。

什麼是原型模式呢? 不通過new來產生乙個物件的方式,而是通過物件複製來實現的模式就叫做原型模式。

原型模式的優點:

原型模式的使用場景:

spring中的原型模式,就是每次拷貝乙個bean。

原型模式應當注意的問題:

建構函式不會執行

淺拷貝和深拷貝的問題。 淺拷貝(只物件,對物件內的陣列,引用物件都不拷貝)會導致,對複製物件的修改同時影響原始物件,而深拷貝則不會。 對於引用物件執行的淺拷貝,其中string型別物件作為特殊的引用物件,和基本型別,int ,long double一樣會被執行拷貝。

clone 和final 關鍵字是有衝突的,帶有final關鍵字的,無法拷貝。編譯器報錯

大話設計模式七之原型模式

簡歷影印 原型模式 prototype 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。原型模式其實就是從乙個物件再建立另外乙個可定製的物件,而且不需知道任何建立的細節 net再system命名空間中提供了icloneable介面,其中就是唯一的乙個方法clone 這樣只需要實現這個...

設計模式 原型模式

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

設計模式 原型模式

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