国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

《golang設計模式》第一部分·創(chuàng)建型模式-02-原型模式(Prototype)

這篇具有很好參考價值的文章主要介紹了《golang設計模式》第一部分·創(chuàng)建型模式-02-原型模式(Prototype)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 概念

1.1 簡述

用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這些原型創(chuàng)建新的對象

1.2 角色

  • Prototype(抽象原型類):它是聲明克隆方法的接口,或所有具體原型類的公共父類

它可以是抽象類也可以是接口,甚至還可以是具體實現(xiàn)類。

  • ConcretePrototype(具體原型類):它實現(xiàn)在抽象原型類中聲明的克隆方法,在克隆方法中返回自己的一個克隆對象。
  • Client(客戶類):

讓一個原型對象克隆自身從而創(chuàng)建一個新的對象,只需要直接實例化或通過工廠方法等方式創(chuàng)建一個原型對象,再通過調(diào)用該對象的克隆方法即可得到多個相同的對象。

1.3 類圖

2. 代碼示例

2.1 設計

  • 創(chuàng)建一個將軍
    • 它有4個方法:設置人員信息、設置裝備、查詢、克隆
  • 調(diào)用
    • 實例化一個將軍關羽
    • 關羽克隆方法實例化繼承人
    • 繼承人設置人員信息方法修改繼承人的信息

2.2 代碼

package main

import "fmt"

// 定義抽象原型
type Prototype interface {
	Clone() Prototype
}
//定義具體原型
type ConcretePrototype struct {
	Name   string
	ModelA string
	ModelB string
}

func (c *ConcretePrototype) Clone() Prototype {
	pN := &ConcretePrototype{
		Name:   c.Name,
		ModelA: c.ModelA,
		ModelB: c.ModelB,
	}
	return pN
}

func main() {
    //實例化一個原型
	prototype := &ConcretePrototype{
		Name:   "liubei",
		ModelA: "AAA",
		ModelB: "BBB",
	}
	//用原型復制兩個實例
	cloneA := prototype.Clone()
	cloneB := prototype.Clone()
	//查看結果
	fmt.Println(cloneA, cloneB)
}

2.3 類圖


《golang設計模式》第一部分·創(chuàng)建型模式-02-原型模式(Prototype),架構設計,golang,設計模式,原型模式,Prototype,創(chuàng)建型模式,架構文章來源地址http://www.zghlxwxcb.cn/news/detail-619901.html

到了這里,關于《golang設計模式》第一部分·創(chuàng)建型模式-02-原型模式(Prototype)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 第一部分:核心容器

    第一部分:核心容器

    Spring就是一個輕量級的控制反轉(IOC)和面向切面編程(AOP)的框架! ????????什么是IoC、IoC容器、bean、DI ? IoC:對象創(chuàng)建控制權由程序轉移到IoC容器的控制反轉思想。 IoC容器:創(chuàng)建管理對象的容器。 bean:IoC容器中被創(chuàng)建管理的對象。 DI:IoC容器中建立bean之間依賴關

    2024年02月13日
    瀏覽(23)
  • 模擬第一部分5

    1、如果想要在外部包中使用全局變量,則全局變量必須( )?正確答案:A A、首字母必須大寫 B、首字母必須小寫 C、必須加上const D、必須加上var 答案解析:在函數(shù)體外聲明的變量稱之為全局變量。全局變量聲明必須以 var 開頭,如果想要在外部包中使用

    2024年02月08日
    瀏覽(33)
  • 6.播放音頻(第一部分)

    這一章將對播放音頻的具體內(nèi)容做講解。我的想法是按照tinyalsa中的例子作為講解的范本,因為tinyalsa足夠簡單,很多時候都忽略了它的細節(jié)。趁著這個機會再整理一下tinyalsa的內(nèi)容。我使用的tinyalsa從https://github.com/tinyalsa/tinyalsa下載,從examples/writei.c開始。 其中函數(shù)read_file從

    2023年04月08日
    瀏覽(22)
  • MySQL學習-第一部分

    MySQL數(shù)據(jù)庫 MySQL是一個**關系型數(shù)據(jù)庫管理系統(tǒng)****,**由瑞典[MySQL AB](https://baike.baidu.com/item/MySQL AB/2620844) 公司開發(fā),屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關系型數(shù)據(jù)庫管理系統(tǒng)之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系數(shù)據(jù)庫管理系統(tǒng)) 應用

    2024年02月15日
    瀏覽(27)
  • 第一部分:Spark基礎篇

    第一部分:Spark基礎篇

    第一部分:Spark基礎篇_奔跑者-輝的博客-CSDN博客 第二部分:Spark進階篇_奔跑者-輝的博客-CSDN博客 第三部分:Spark調(diào)優(yōu)篇_奔跑者-輝的博客-CSDN博客 第一部分:Flink基礎篇_奔跑者-輝的博客-CSDN博客?(*建議收藏*) 實時數(shù)倉之 Kappa 架構與 Lambda 架構_奔跑者-輝的博客-CSDN博客(*建議收

    2024年02月05日
    瀏覽(28)
  • 第一部分-基礎篇-第一章:PSTN與VOIP(下篇)

    第一部分-基礎篇-第一章:PSTN與VOIP(下篇)

    ??學習資料來源《FreeSWITCH權威指南》-作者杜金房這本書。我是2022年6月畢業(yè)的,偶然的機會接觸到FreeSWITCH,但是目前在南京從事java后端開發(fā),F(xiàn)reeSWITCH純屬個人愛好,進行筆記整理。也一直希望有機會可以參與FreeSWITCH相關工作開發(fā),如有需要,請聯(lián)系我18956043585,先說聲謝

    2024年02月06日
    瀏覽(30)
  • Mysql入門基礎教程(第一部分)

    MySQL基礎教程解釋了一些基本的SQL語句。如果這是您第一次使用關系數(shù)據(jù)庫管理系統(tǒng),本教程將為您提供使用MySQL數(shù)據(jù)庫服務器所需的一切,例如查詢數(shù)據(jù),更新數(shù)據(jù),管理數(shù)據(jù)庫和創(chuàng)建表。 如果您已經(jīng)熟悉其他關系數(shù)據(jù)庫管理系統(tǒng)(如PostgreSQL,Oracle或Microsoft SQL Server等),

    2024年04月14日
    瀏覽(30)
  • HTML學習 第一部分(前端學習)

    HTML學習 第一部分(前端學習)

    參考學習網(wǎng)站: 網(wǎng)頁簡介 (w3schools.com) 我的學習思路是:網(wǎng)站+實踐+視頻。 視頻很重要的,因為它會給你一種開闊思路的方式。你會想,噢!原來還可以這樣。這是書本或者網(wǎng)站教程 所不能教給你的。而且,對一些教程,它的用法你可能 在工作或者以后都用不上,這種情況下

    2024年02月15日
    瀏覽(29)
  • [軟件測試] 第一部分 軟件測試基礎

    軟件測試期末復習系列 課件知識點整合 : 軟件測試基礎 白盒測試 黑盒測試 PTA習題匯總 : 軟件測試基礎 白盒測試-邏輯覆蓋測試 白盒測試-基本路徑測試 白盒測試-靜態(tài)測試 黑盒測試-等價類劃分 黑盒測試-邊界值測試 黑盒測試-場景法 軟件危機 :軟件危機是指落后的軟件生

    2024年02月04日
    瀏覽(32)
  • 阿里服務器怎么用教程[第一部分]

    阿里服務器怎么用教程[第一部分]

    第一步,登錄我們的阿里云賬號。 ? 第二步,根據(jù)自己的具體情況,選擇好服務器的配置,比如你是大型企業(yè),預估網(wǎng)站訪問量很大,那么就要選配置較好的服務器,如果是個人網(wǎng)站,預估流量較小,就可以選擇配置較低的云服務器。 ? 第三步,購買好云服務器后,我們在

    2024年02月10日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包