日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 最新色网站 | 鲁大师私人影院在线观看 | 久草福利免费 | 国产精品普通话 | 91肉色超薄丝袜脚交一区二区 | 侵犯亲女在线播放视频 | av免费一区 | 欧美成人三区 | 看一级黄色| 99国产成人精品 | 九九热视频在线 | 国产91精品一区二区麻豆亚洲 | 又白又嫩毛又多15p 超碰在线一区 | 亚洲www久久久 | 性喷潮久久久久久久久 | 激情综合影院 | 亚洲美女自拍 | xxx久久久 | 美女诱惑一区二区 | 日少妇av | 久青草资源福利视频 | av男人天堂av | 天天干天天色天天射 | 69视频网 | 久操视频免费在线观看 | 女女互磨互喷水高潮les呻吟 | av在线免费观看网站 | 欧美毛片基地 | 中文视频一区 | 久久两性视频 | 人妻少妇偷人精品视频 | 黄色免费视频 | 好av| 国产夫妻在线视频 | 欧美xxxxxxxxx| 欧美一级高清片 | 亚洲一区二区三区在线观看视频 | 欧美伊人久久 | 日韩美女黄色片 | 肉色丝袜脚交一区二区 | 日韩在线视频一区二区三区 | 精品视频一区二区三区四区 | 欧美一区精品 | 偷拍夫妻性生活 | 日韩欧美亚洲在线 | 午夜激情一区二区 | 久久中文字幕无码 | 日韩精品一区二区在线视频 | 国产精品一区二区三区四区 | 国产乱码精品一区二区三区精东 | 少妇愉情理伦片bd | www在线视频 | 99资源站 | 婷婷色在线视频 | 一区视频| 99热免费观看 | 成人看的毛片 | 爱爱综合 | 91福利免费| 久久久国产精品成人免费 | 日本va欧美va欧美va精品 | 免费一级黄| 国产黄色三级网站 | 绿帽在线 | 亚洲风情第一页 | 精品国产乱码久久久久夜深人妻 | 精品乱码久久久久久中文字幕 | 97精品人妻一区二区三区在线 | 小罗莉极品一线天在线 | 五月激情网站 | av私库 | 日韩高清黄色 | 黄色小视频入口 | 欧美日韩少妇 | 久久av资源网| 国产一卡二卡在线播放 | 四虎国产精品永久在线国在线 | 中文字幕亚洲一区二区三区 | 亚洲一级片免费看 | 亚洲综合激情另类小说区 | 人人涩| 一二三四区视频 | 日批视屏 | 国外亚洲成av人片在线观看 | 国产精品久久久久久久久久免费 | 亚洲a视频 | 日韩影院在线 | 黄色录像网址 | 国产精品三级在线观看无码 | 最新日韩av | 国产自产 | 天天干天天爱天天操 | 一级特黄av | 91视频最新入口 | 欧美视频一区在线 | 久久精品久久精品 | 午夜剧场免费观看 | 日韩一级在线观看 | 撕开少妇裙子猛然进入 |