一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

設(shè)計模式創(chuàng)造性:原型模式

冬至子 ? 來源:碼農(nóng)架構(gòu) ? 作者:小智 ? 2023-06-09 15:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

原型模式(Prototype Pattern)是用于創(chuàng)建重復的對象,同時又能保證性能。這種類型的設(shè)計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。

這種模式是實現(xiàn)了一個原型接口,該接口用于創(chuàng)建當前對象的克隆。當直接創(chuàng)建對象的代價比較大時,則采用這種模式。例如,一個對象需要在一個高代價的數(shù)據(jù)庫操作之后被創(chuàng)建。我們可以緩存該對象,在下一個請求時返回它的克隆,在需要的時候更新數(shù)據(jù)庫,以此來減少數(shù)據(jù)庫調(diào)用。

結(jié)構(gòu)圖

圖片

角色與理解

  • 原型模式共有以下幾種角色:
  • Prototype(抽象原型類)定義clone方法的接口,類型為接口、抽象類或者具體的類,是所有具體原型類的父類
  • ConcretePrototype(具體原型類)實現(xiàn)clone方法的實現(xiàn)了,可以為多個類,提供不同的clone方式
  • Client(客戶類)讓一個原型對象復制新的對象
  • 原型方法的核心是如何實現(xiàn)clone方法,不同的clone方法最終的效果也是不一樣的

深拷貝與淺拷貝

  • 淺拷貝(ShallowClone):當對象被復制時,只復制對象本身與值類型的成員變量,引用類型的成員變量沒有被復制
  • 深拷貝(DeepClone):當對象被復制時,對象本身、值類型成員變量、引用類型成員變量都會被復制,原型對象與復制對象完全獨立

核心代碼

  • 抽象原型類

圖片

  • 被復制的對象與具體原型類的結(jié)合體

圖片

  • 客戶端

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3907

    瀏覽量

    65959
  • Cyclone
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    30482
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    [討論]針對發(fā)明專利創(chuàng)造性無效的部分答復

    針對發(fā)明專利創(chuàng)造性無效的部分答復 專利糾紛 2010-04-21 08:54:02 閱讀11 評論1 字號:大中小     
    發(fā)表于 04-22 10:52

    喜歡用ERP新技術(shù)的人能發(fā)揮管理創(chuàng)造性思維

    喜歡用ERP新技術(shù)的人能發(fā)揮管理創(chuàng)造性思維我們知道“興趣是最好的老師”,這是一句比較經(jīng)典的話,那么我想表達的是如果某人對自己所在的領(lǐng)域感興趣,只要有長期堅持下去的信念,一般會激發(fā)他的創(chuàng)造性思維,這是
    發(fā)表于 07-29 10:09

    喜歡用ERP新技術(shù)的人能發(fā)揮管理創(chuàng)造性思維

    喜歡用ERP新技術(shù)的人能發(fā)揮管理創(chuàng)造性思維我們知道“興趣是最好的老師”,這是一句比較經(jīng)典的話,那么我想表達的是如果某人對自己所在的領(lǐng)域感興趣,只要有長期堅持下去的信念,一般會激發(fā)他的創(chuàng)造性思維,這是
    發(fā)表于 08-09 10:11

    請問如何利用創(chuàng)造性補償實現(xiàn)小型放大器驅(qū)動200 mW負載?

    利用創(chuàng)造性補償實現(xiàn)小型放大器驅(qū)動200 mW負載
    發(fā)表于 04-06 06:44

    McDSP Futzbox 創(chuàng)造性的使用演示

    在這段視頻中,我們將向您展示一些創(chuàng)造性的方法,在設(shè)計小軍鼓聲音時,如何利用Futzbox的功能和參數(shù)來發(fā)揮您的優(yōu)勢! 我們還談到了Futzbox的模式選擇器在插件的聲音中發(fā)揮的作用。典型的后期制作
    發(fā)表于 07-25 08:09

    什么是菊花鏈模式型模式

    什么是菊花鏈模式型模式 菊花鏈模式   菊花鏈模式是簡化的級聯(lián)模式,主要的優(yōu)點是提供集中管理的擴展端口,對于
    發(fā)表于 12-05 09:00 ?8735次閱讀

    電子工程師結(jié)合創(chuàng)造性與習慣

    電子工程師結(jié)合創(chuàng)造性與習慣 人們可能會對電子產(chǎn)品的開發(fā)與設(shè)計方法堅持某種不變的觀念,甚至對解決不同問題所采用的器件這樣的小事都有某種思維定勢,這是可
    發(fā)表于 12-16 09:19 ?2063次閱讀

    游戲開發(fā)的三十個創(chuàng)造性詞匯

    游戲開發(fā)者的三十個創(chuàng)造性詞匯
    的頭像 發(fā)表于 05-31 09:08 ?1882次閱讀

    設(shè)計模式之結(jié)構(gòu)型模式

    結(jié)構(gòu)型模式一、適配器模式(一)定義:適配器模式(Adapter Pattern)是作為兩個不兼容的接口之間的橋梁,它結(jié)合了兩個獨立接口的功能。這種模式涉及到一個單一的類,該類負責加入獨
    發(fā)表于 11-06 17:51 ?1次下載
    設(shè)計<b class='flag-5'>模式</b>之結(jié)構(gòu)<b class='flag-5'>型模式</b>

    設(shè)計模式最佳實踐探索—策略模式

    根據(jù)不同的應用場景與意圖,設(shè)計模式主要分為創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式三類。本文主要探索行為型模式中的策略
    的頭像 發(fā)表于 10-31 14:24 ?1177次閱讀

    嵌入式 C 語言之原型模式應用

    原型模式(Prototype Pattern),是屬于創(chuàng)建型模式的一種。原型模式主要是使用了原型對象實例,來指定被創(chuàng)建對象的種類,并且通過拷貝原型
    發(fā)表于 01-12 11:14 ?424次閱讀

    用一個實例說明原型模式的使用方法

    原型模式是指將類設(shè)計成可復制(克?。╊愋?,繼承Cloneable類,在調(diào)用時就可以直接通過clone()方法克隆已有對象生成新的對象。
    的頭像 發(fā)表于 06-01 14:18 ?851次閱讀
    用一個實例說明<b class='flag-5'>原型模式</b>的使用方法

    設(shè)計模式結(jié)構(gòu):代理模式

    在代理模式(Proxy Pattern)中,一個類代表另一個類的功能。這種類型的設(shè)計模式屬于結(jié)構(gòu)型模式
    的頭像 發(fā)表于 06-09 15:27 ?1020次閱讀
    設(shè)計<b class='flag-5'>模式</b>結(jié)構(gòu)<b class='flag-5'>性</b>:代理<b class='flag-5'>模式</b>

    設(shè)計模式創(chuàng)造性:建造者模式

    建造者模式(Builder Pattern)使用多個簡單的對象一步一步構(gòu)建成一個復雜的對象。這種類型的設(shè)計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。
    的頭像 發(fā)表于 06-09 16:25 ?936次閱讀
    設(shè)計<b class='flag-5'>模式</b><b class='flag-5'>創(chuàng)造性</b>:建造者<b class='flag-5'>模式</b>

    各類設(shè)計模式及實現(xiàn)

    。最近看設(shè)計模式的書,對于每個模式,用C++寫了個小例子,加深一下理解。 一、設(shè)計模式的分類 總體來說設(shè)計模式分為三大類 創(chuàng)建型模式,共五種
    的頭像 發(fā)表于 11-11 11:45 ?1026次閱讀
    各類設(shè)計<b class='flag-5'>模式</b>及實現(xiàn)