日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

语言与golang语言运行速度_Golang语言情怀第13期 Go 语言设计模式 介绍

發(fā)布時間:2023/12/20 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 语言与golang语言运行速度_Golang语言情怀第13期 Go 语言设计模式 介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

設(shè)計模式是什么

俗話說:站在別人的肩膀上,我們會看得更遠(yuǎn)。設(shè)計模式的出現(xiàn)可以讓我們站在前人的肩膀上,通過一些成熟的設(shè)計方案來指導(dǎo)新項目的開發(fā)和設(shè)計,以便于我們開發(fā)出具有更好的靈活性和可擴展性,也更易于復(fù)用的軟件系統(tǒng)。

設(shè)計模式的一般定義如下:

設(shè)計模式(Design Pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié),使用設(shè)計模式是為了可重用代碼、讓代碼更容易被他人理解并且保證代碼可靠性。

狹義的設(shè)計模式是指GoF在《設(shè)計模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》一書中所介紹的23種經(jīng)典設(shè)計模式,不過設(shè)計模式并不僅僅只有這23種,隨著軟件開發(fā)技術(shù)的發(fā)展,越來越多的新模式不斷誕生并得以應(yīng)用。設(shè)計模式一般包含模式名稱、問題、目的、解決方案、效果等組成要素,其中關(guān)鍵要素是模式名稱、問題、解決方案和效果。

模式名稱(Pattern Name)通過一兩個詞來描述模式的問題、解決方案和效果,以便更好地理解模式并方便開發(fā)人員之間的交流,絕大多數(shù)模式都是根據(jù)其功能或模式結(jié)構(gòu)來命名的;

問題(Problem)描述了應(yīng)該在何時使用模式,它包含了設(shè)計中存在的問題以及問題存在的原因;

解決方案(Solution)描述了一個設(shè)計模式的組成成分,以及這些組成成分之間的相互關(guān)系,各自的職責(zé)和協(xié)作方式,通常解決方案通過UML類圖和核心代碼來進(jìn)行描述;

效果(Consequences)描述了模式的優(yōu)缺點以及在使用模式時應(yīng)權(quán)衡的問題。

Go語言模式分類

在分類之前,我們需要明白模式的大體分類,以及他們都分別代表什么意思:

創(chuàng)建模式:對類的實例化過程的抽象。一些系統(tǒng)在創(chuàng)建對象時,需要動態(tài)地決定怎樣創(chuàng)建對象,創(chuàng)建哪些對象,以及如何組合和表示這些對象。創(chuàng)建模式描述了怎樣構(gòu)造和封裝這些動態(tài)的決定。包含類的創(chuàng)建模式和對象的創(chuàng)建模式。

結(jié)構(gòu)模式:描述如何將類或?qū)ο蠼Y(jié)合在一起形成更大的結(jié)構(gòu)。分為類的結(jié)構(gòu)模式和對象的結(jié)構(gòu)模式。類的結(jié)構(gòu)模式使用繼承把類,接口等組合在一起,以形成更大的結(jié)構(gòu)。類的結(jié)構(gòu)模式是靜態(tài)的。對象的結(jié)構(gòu)模式描述怎樣把各種不同類型的對象組合在一起,以實現(xiàn)新的功能的方法。對象的結(jié)構(gòu)模式是動態(tài)的。

行為模式:對在不同的對象之間劃分責(zé)任和算法的抽象化。不僅僅是關(guān)于類和對象的,并是關(guān)于他們之間的相互作用。類的行為模式使用繼承關(guān)系在幾個類之間分配行為。對象的行為模式則使用對象的聚合來分配行為。

模式分類表:

所屬類型模式名稱模式簡單定義
創(chuàng)建模式Abstract Factory抽象工廠提供用于創(chuàng)建相關(guān)對象系列的接口
Builder生成器使用簡單對象構(gòu)建復(fù)雜對象
Factory Method工廠方法將對象的實例化延遲到用于創(chuàng)建實例的專用函數(shù)
row 2 col 2對象池實例化并維護(hù)一組相同類型的對象實例
Singleton單例將類型的實例化限制為一個對象
結(jié)構(gòu)模式Adapter適配器適配另一個不兼容的接口來一起工作
Bridge橋接將接口與其實現(xiàn)分離,以便兩者可以獨立變化
Composite組合封裝并提供對許多不同對象的訪問
Decorator裝飾靜態(tài)或動態(tài)地向?qū)ο筇砑有袨?/td>
Facade外觀使用一種類型作為許多其他類型的API
Flyweight享元運用共享技術(shù)有效地支持大量細(xì)粒度的對象
Proxy代理為對象提供代理以控制其操作
行為模式Chain of Responsibility職責(zé)鏈避免通過提供超過對象處理請求的機會來將發(fā)送方與接收方耦合
Command命令捆綁命令和參數(shù)以便稍后調(diào)用
Mediator中介者連接對象并充當(dāng)代理
Memento備忘錄生成可用于返回先前狀態(tài)的不透明令牌
Observer觀察者提供回調(diào)以通知事件/數(shù)據(jù)更改
Registry注冊跟蹤給定類的所有子類
State狀態(tài)根據(jù)內(nèi)部狀態(tài)封裝同一對象的不同行為
Strategy策略允許在運行時選擇算法的行為
Template模板定義一個將某些方法推遲到子類的框架類
Visitor訪問者將算法與其運行的對象分開
同步模式Condition Variable條件變量為線程提供一種機制,以暫時放棄訪問以等待某些條件
Lock/Mutex鎖定/互斥對資源實施互斥限制以獲得獨占訪問權(quán)限
Monitor監(jiān)視器互斥和條件變量模式的組合
Read-Write Lock讀寫鎖定允許并行讀取訪問,但僅對資源的寫入操作進(jìn)行獨占訪問
Semaphore信號允許控制對公共資源的訪問
并行模式N-BarrierN-二道閘阻止進(jìn)程繼續(xù)進(jìn)行,直到所有N個進(jìn)程都到達(dá)屏障
Bounded Parallelism有界并行完成大量資源限制的獨立任務(wù)
Broadcast廣播把一個消息同時傳輸?shù)剿薪邮斩?/td>
Coroutines協(xié)同程序允許在特定地方暫停和繼續(xù)執(zhí)行的子程序
Generators生成器一次性生成一系列值
Reactor反應(yīng)服務(wù)處理程序使用I/O多路復(fù)用策略來同步、有序的處理一個或多個客戶端并發(fā)請求
Parallelism并行完成大量獨立任務(wù)
Producer Consumer生產(chǎn)者消費者從任務(wù)執(zhí)行中分離任務(wù)
Scheduler調(diào)度器協(xié)調(diào)任務(wù)步驟
消息傳遞模式Fan-In扇入該模塊直接調(diào)用上級模塊的個數(shù),像漏斗型一樣去工作
Fan-Out扇出該模塊直接調(diào)用的下級模塊的個數(shù)
Futures & PromisesFutures & Promises扮演一個占位角色,對未知的結(jié)果用于同步
Publish/SubscribePublish/Subscribe將信息傳遞給訂閱者
Push & PullPush & Pull把一個管道上的消息分發(fā)給多人
穩(wěn)定模式BulkheadsBulkheads實施故障遏制原則(即防止級聯(lián)故障)
Circuit-Breaker斷路器當(dāng)請求有可能失敗時,停止流動的請求
Deadline截止日期一旦響應(yīng)變緩,允許客戶端停止一個正在等待的響應(yīng)
Fail-Fast機制快速失敗檢查請求開始時所需資源的可用性,如果不滿足要求則失敗
Handshaking握手詢問組件是否可以承受更多負(fù)載,如果不能,則請求被拒絕
Steady-State穩(wěn)定狀態(tài)為每一個服務(wù)積累一個資源,其它服務(wù)必須回收這些資源
剖析模式Timing Functions時序功能包裝函數(shù)并記錄執(zhí)行
成例Functional Options功能選項允許給默認(rèn)值創(chuàng)建clean API和慣用重載
反模式級聯(lián)故障級聯(lián)故障互連部件系統(tǒng)中的故障,其中部件的故障導(dǎo)致多米諾骨牌效應(yīng)

參考資料:

Go語言設(shè)計模式

https://www.cnblogs.com/Survivalist/p/11207789.html

超贊的Go語言設(shè)計模式錦集

https://studygolang.com/articles/8230

Golang語言情懷

ID:wwwGolangLtd

?www.Golang.Ltd

游戲服務(wù)器架構(gòu)丨分布式技術(shù)丨大數(shù)據(jù)丨Go語言學(xué)習(xí)

總結(jié)

以上是生活随笔為你收集整理的语言与golang语言运行速度_Golang语言情怀第13期 Go 语言设计模式 介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美色图一区二区 | 成年人免费小视频 | 日韩av成人在线 | 夜夜嗨av一区二区三区网页 | 亚洲欧美另类在线视频 | 丁香婷婷在线观看 | 一区二区三区在线观看 | 丰满少妇aaaaaa爰片毛片 | 欧美日韩一区二区三区电影 | 久久久999国产精品 天堂av中文在线 | 亚洲欧美日韩在线不卡 | 久久亚洲a v| 国产情侣在线视频 | 欧美日韩一级黄色片 | 中文字幕成人在线观看 | 亚洲第一香蕉网 | 亚洲精品久久夜色撩人男男小说 | 欧美视频久久久 | 婷婷激情久久 | 在线观看日本 | 污视频在线观看网站 | 免费啊v在线观看 | 国产av人人夜夜澡人人爽 | 亚洲香蕉在线 | 亚洲成人免费观看 | 成人h动漫精品一区 | 99视频网站 | 久久久综合 | 日韩福利 | 久草在在线视频 | 欧美www视频 | 欧美三级久久久 | 91久久人人 | 9191在线视频 | 亚洲成人一区二区三区 | 无码人妻精品一区二区三区9厂 | 久色影视 | 激情噜噜 | 国产香蕉97碰碰碰视频在线观看 | 欧美特级特黄aaaaaa在线看 | 性囗交免费视频观看 | 国产传媒第一页 | 96av视频 | 日韩h视频 | 性欧美videos另类hd | 国产伊人自拍 | 国产一区二区三区精品在线观看 | 日韩在线影院 | 欧美精品首页 | 日韩精品久久久久 | 一本久久a精品一合区久久久 | 亚洲福利一区二区三区 | 精品无码久久久久久久久成人 | 91黄瓜视频| 青青国产在线视频 | 免费看黄色a级片 | 制服丝袜一区二区三区 | 在线h网| 日韩不卡在线播放 | 欧美88av| 香港一级淫片免费放 | 色图自拍 | 男生和女生操操 | 久久久久久国产精品三级玉女聊斋 | 一区二区三区播放 | www精品一区二区三区 | 欧美视频免费在线观看 | 中文字幕av一区二区三区人妻少妇 | 亚洲一区二区三区黄色 | 台湾色综合| 婷婷久久综合网 | 国产精品第二页 | 中文av免费| 成人在线播放网站 | 亚洲视频国产 | 成人在线影视 | 免看一级a毛片一片成人不卡 | 精品伦理一区二区 | 色哟哟免费在线观看 | 成人羞羞国产免费 | 91在线播放国产 | 天天久| 亚洲av无码一区二区三区观看 | 中文字幕乱码亚洲无线三区 | 日本高清视频在线 | 亚洲小说专区 | 神马国产 | 黄色午夜网站 | 免费在线观看成年人视频 | 欧美日韩高清一区二区三区 | 中文字幕日韩人妻在线视频 | 久久伊人国产 | 久久久一区二区三区四区 | 欧美v在线| 琪琪在线视频 | 国产精品一区二区在线观看 | 九九精品在线播放 | 日韩精品高清视频 | 日韩欧美www |