原型模式(Prototype Pattern)是用于創(chuàng)建重復的對象,同時又能保證性能。這種類型的設計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。
這種模式是實現(xiàn)了一個原型接口,該接口用于創(chuàng)建當前對象的克隆。當直接創(chuàng)建對象的代價比較大時,則采用這種模式。例如,一個對象需要在一個高代價的數(shù)據(jù)庫操作之后被創(chuàng)建。我們可以緩存該對象,在下一個請求時返回它的克隆,在需要的時候更新數(shù)據(jù)庫,以此來減少數(shù)據(jù)庫調用。
結構圖

角色與理解
- 原型模式共有以下幾種角色:
- Prototype(抽象原型類)定義clone方法的接口,類型為接口、抽象類或者具體的類,是所有具體原型類的父類
- ConcretePrototype(具體原型類)實現(xiàn)clone方法的實現(xiàn)了,可以為多個類,提供不同的clone方式
- Client(客戶類)讓一個原型對象復制新的對象
- 原型方法的核心是如何實現(xiàn)clone方法,不同的clone方法最終的效果也是不一樣的
深拷貝與淺拷貝
- 淺拷貝(ShallowClone):當對象被復制時,只復制對象本身與值類型的成員變量,引用類型的成員變量沒有被復制
- 深拷貝(DeepClone):當對象被復制時,對象本身、值類型成員變量、引用類型成員變量都會被復制,原型對象與復制對象完全獨立
核心代碼
- 抽象原型類

- 被復制的對象與具體原型類的結合體

- 客戶端

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
數(shù)據(jù)庫
+關注
關注
7文章
4085瀏覽量
68569 -
Cyclone
+關注
關注
0文章
55瀏覽量
31010
發(fā)布評論請先 登錄
相關推薦
熱點推薦
[討論]針對發(fā)明專利創(chuàng)造性無效的部分答復
針對發(fā)明專利創(chuàng)造性無效的部分答復 專利糾紛 2010-04-21 08:54:02 閱讀11 評論1 字號:大中小  
發(fā)表于 04-22 10:52
喜歡用ERP新技術的人能發(fā)揮管理創(chuàng)造性思維
喜歡用ERP新技術的人能發(fā)揮管理創(chuàng)造性思維我們知道“興趣是最好的老師”,這是一句比較經典的話,那么我想表達的是如果某人對自己所在的領域感興趣,只要有長期堅持下去的信念,一般會激發(fā)他的創(chuàng)造性思維,這是
發(fā)表于 07-29 10:09
喜歡用ERP新技術的人能發(fā)揮管理創(chuàng)造性思維
喜歡用ERP新技術的人能發(fā)揮管理創(chuàng)造性思維我們知道“興趣是最好的老師”,這是一句比較經典的話,那么我想表達的是如果某人對自己所在的領域感興趣,只要有長期堅持下去的信念,一般會激發(fā)他的創(chuàng)造性思維,這是
發(fā)表于 08-09 10:11
請問如何利用創(chuàng)造性補償實現(xiàn)小型放大器驅動200 mW負載?
利用創(chuàng)造性補償實現(xiàn)小型放大器驅動200 mW負載
發(fā)表于 04-06 06:44
McDSP Futzbox 創(chuàng)造性的使用演示
在這段視頻中,我們將向您展示一些創(chuàng)造性的方法,在設計小軍鼓聲音時,如何利用Futzbox的功能和參數(shù)來發(fā)揮您的優(yōu)勢! 我們還談到了Futzbox的模式選擇器在插件的聲音中發(fā)揮的作用。典型的后期制作
發(fā)表于 07-25 08:09
什么是菊花鏈模式 星型模式
什么是菊花鏈模式 星型模式 菊花鏈模式 菊花鏈模式是簡化的級聯(lián)模式,主要的優(yōu)點是提供集中管理的擴展端口,對于
發(fā)表于 12-05 09:00
?9038次閱讀
電子工程師結合創(chuàng)造性與習慣
電子工程師結合創(chuàng)造性與習慣
人們可能會對電子產品的開發(fā)與設計方法堅持某種不變的觀念,甚至對解決不同問題所采用的器件這樣的小事都有某種思維定勢,這是可
發(fā)表于 12-16 09:19
?2186次閱讀
設計模式之結構型模式
結構型模式一、適配器模式(一)定義:適配器模式(Adapter Pattern)是作為兩個不兼容的接口之間的橋梁,它結合了兩個獨立接口的功能。這種模式涉及到一個單一的類,該類負責加入獨
發(fā)表于 11-06 17:51
?1次下載
設計模式最佳實踐探索—策略模式
根據(jù)不同的應用場景與意圖,設計模式主要分為創(chuàng)建型模式、結構型模式和行為型模式三類。本文主要探索行為型模式中的策略
嵌入式 C 語言之原型模式應用
原型模式(Prototype Pattern),是屬于創(chuàng)建型模式的一種。原型模式主要是使用了原型對象實例,來指定被創(chuàng)建對象的種類,并且通過拷貝原型
發(fā)表于 01-12 11:14
?719次閱讀
設計模式創(chuàng)造性:建造者模式
建造者模式(Builder Pattern)使用多個簡單的對象一步一步構建成一個復雜的對象。這種類型的設計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。
設計模式創(chuàng)造性:原型模式
評論