原型模式(Prototype Pattern)是用于創建重復的對象,同時又能保證性能。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式。
這種模式是實現了一個原型接口,該接口用于創建當前對象的克隆。當直接創建對象的代價比較大時,則采用這種模式。例如,一個對象需要在一個高代價的數據庫操作之后被創建。我們可以緩存該對象,在下一個請求時返回它的克隆,在需要的時候更新數據庫,以此來減少數據庫調用。
結構圖
角色與理解
- 原型模式共有以下幾種角色:
- Prototype(抽象原型類)定義clone方法的接口,類型為接口、抽象類或者具體的類,是所有具體原型類的父類
- ConcretePrototype(具體原型類)實現clone方法的實現了,可以為多個類,提供不同的clone方式
- Client(客戶類)讓一個原型對象復制新的對象
- 原型方法的核心是如何實現clone方法,不同的clone方法最終的效果也是不一樣的
深拷貝與淺拷貝
- 淺拷貝(ShallowClone):當對象被復制時,只復制對象本身與值類型的成員變量,引用類型的成員變量沒有被復制
- 深拷貝(DeepClone):當對象被復制時,對象本身、值類型成員變量、引用類型成員變量都會被復制,原型對象與復制對象完全獨立
核心代碼
- 抽象原型類
- 被復制的對象與具體原型類的結合體
- 客戶端
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
數據庫
+關注
關注
7文章
3794瀏覽量
64360 -
Cyclone
+關注
關注
0文章
54瀏覽量
30093
發布評論請先 登錄
相關推薦
[討論]針對發明專利創造性無效的部分答復
針對發明專利創造性無效的部分答復 專利糾紛 2010-04-21 08:54:02 閱讀11 評論1 字號:大中小  
發表于 04-22 10:52
喜歡用ERP新技術的人能發揮管理創造性思維
喜歡用ERP新技術的人能發揮管理創造性思維我們知道“興趣是最好的老師”,這是一句比較經典的話,那么我想表達的是如果某人對自己所在的領域感興趣,只要有長期堅持下去的信念,一般會激發他的創造性思維,這是
發表于 07-29 10:09
喜歡用ERP新技術的人能發揮管理創造性思維
喜歡用ERP新技術的人能發揮管理創造性思維我們知道“興趣是最好的老師”,這是一句比較經典的話,那么我想表達的是如果某人對自己所在的領域感興趣,只要有長期堅持下去的信念,一般會激發他的創造性思維,這是
發表于 08-09 10:11
McDSP Futzbox 創造性的使用演示
在這段視頻中,我們將向您展示一些創造性的方法,在設計小軍鼓聲音時,如何利用Futzbox的功能和參數來發揮您的優勢! 我們還談到了Futzbox的模式選擇器在插件的聲音中發揮的作用。典型的后期制作
發表于 07-25 08:09
電子工程師結合創造性與習慣
電子工程師結合創造性與習慣
人們可能會對電子產品的開發與設計方法堅持某種不變的觀念,甚至對解決不同問題所采用的器件這樣的小事都有某種思維定勢,這是可
發表于 12-16 09:19
?2032次閱讀
設計模式之結構型模式
結構型模式一、適配器模式(一)定義:適配器模式(Adapter Pattern)是作為兩個不兼容的接口之間的橋梁,它結合了兩個獨立接口的功能。這種模式涉及到一個單一的類,該類負責加入獨
發表于 11-06 17:51
?1次下載
嵌入式 C 語言之原型模式應用
原型模式(Prototype Pattern),是屬于創建型模式的一種。原型模式主要是使用了原型對象實例,來指定被創建對象的種類,并且通過拷貝原型
發表于 01-12 11:14
?299次閱讀
評論