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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

设计模式--策略(Strategy)模式

發(fā)布時(shí)間:2025/3/21 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式--策略(Strategy)模式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

模式定義

定義一系列算法,把它們一個(gè)個(gè)封裝起來,并且使它們可互相替換(變化),該模式使得算法可獨(dú)立于使用它的客戶程序(穩(wěn)定)而變化(擴(kuò)展,子類化)

類圖

要點(diǎn)總結(jié)

  • Strategy及其子類為組件提供了一系列可重用的算法,從而可以使得類型在運(yùn)行時(shí)方便地根據(jù)需要在各個(gè)算法之間進(jìn)行交換
  • Strategy模式提供了用條件判斷語(yǔ)句以外的另一種選擇,消除條件判斷語(yǔ)句,就是解耦合。含有許多條件判斷語(yǔ)句的代碼通常都需要Strategy模式
  • 如果Strategy對(duì)象沒有實(shí)例變量,那么各個(gè)上下文可以共享一個(gè)Strategy對(duì)象,從而節(jié)省對(duì)象開銷

Go語(yǔ)言代碼實(shí)現(xiàn)

工程目錄

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-N7fDlqPO-1626705006764)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6d34aa329b7c4d359b25560947dfbce7~tplv-k3u1fbpfcp-watermark.image)]


strategy.go

package Strategy//策略接口 type Strategy interface {Execute() }

strategyA.go

package Strategyimport "fmt"//策略A type strategyA struct {}//實(shí)現(xiàn)接口 func (s *strategyA) Execute(){fmt.Println("A plan executed.") }//簡(jiǎn)單工廠方法 func NewStrategyA() Strategy {return &strategyA{} }

strategyB.go

package Strategyimport "fmt"//策略B type strategyB struct {}//實(shí)現(xiàn)接口 func (s *strategyB) Execute() {fmt.Println("B plan executed.") }//簡(jiǎn)單工廠方法 func NewStrategyB() Strategy {return &strategyB{} }

context.go

package Strategy//上下文,也可以理解為主邏輯 type Context struct {strategy Strategy }//多態(tài)方法 func NewContext() *Context {return &Context{} }//多態(tài)設(shè)置具體的對(duì)象 func (c *Context) SetStrategy(strategy Strategy) {c.strategy = strategy }//多態(tài)方法執(zhí)行具體策略 func (c *Context) Execute(){c.strategy.Execute() }

strategy_test.go

package Strategyimport "testing"func TestContext_Execute(t *testing.T) {strategyA := NewStrategyA()c := NewContext()c.SetStrategy(strategyA)c.Execute()strategyB := NewStrategyB()c.SetStrategy(strategyB)c.Execute() }

總結(jié)

以上是生活随笔為你收集整理的设计模式--策略(Strategy)模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲欧美日本一区二区三区 | 成年人黄网站 | 精品一区二区在线免费观看 | 美女脱光衣服让男人捅 | av免费网站 | 久久久久久久久艹 | 惊艳大片mv视频 | 国产精品无码电影在线观看 | а√天堂资源在线 | 日韩va视频 | 欧美小视频在线观看 | 日韩的一区二区 | av大帝在线观看 | 免费av在线播放网址 | 一起射导航 | 无套内谢老熟女 | 一本视频在线 | 国产免费观看久久黄av片 | 国产一区二区三区四区hd | 国产高清不卡一区 | 天天爽天天插 | 爱爱三级视频 | 国产精品视频一二区 | 超碰天天操 | 亚洲美女www午夜 | 手机av免费观看 | 超碰精品在线观看 | 亚洲最大av网 | 三级av网址 | 成年人免费视频网站 | 亚洲毛片a | 欧美日韩一区二区三区在线电影 | 日本不卡一区在线观看 | 国产精品怡红院 | 亚洲欧美亚洲 | 香蕉网站视频 | 91在线影院 | 国产成人无码一二三区视频 | 国产.com| 中文字幕丰满孑伦无码专区 | 91精品美女 | 与亲女洗澡时伦了毛片 | 日本在线视频二区 | 一区二区不卡免费视频 | 狠狠gao | 午夜国产一级 | 久久精品国产99精品国产亚洲性色 | 免费h漫禁漫天天堂 | 91麻豆视频在线观看 | 日本在线视频播放 | 成人精品在线观看 | 日韩影院在线 | 婷婷五月在线视频 | 久久久永久久久人妻精品麻豆 | 激情婷婷丁香 | 国产精品日本 | 名人明星三级videos | 日韩激情小视频 | 最近中文字幕在线中文视频 | 91艹| 国产激情视频一区二区三区 | 亲切的金子餐桌片段的金子 | 屁屁影院一区二区三区 | 久操网站 | 亚洲日本久久 | 久久新网址 | 91在线视频免费看 | 欧美一级在线 | 久青草影视 | 美女操出白浆 | 懂色视频在线观看 | 九九热视频这里只有精品 | 中文字幕一区二区三区av | 欧美精品福利 | 伊人狼人久久 | 国产免费观看视频 | www.性欧美 | 337p日本欧洲亚洲大胆精筑 | 美女被捅个不停 | 51啪影院 | 99色国产 | av中文字幕免费 | 秘密基地动漫在线观看免费 | 夜夜爽av| 日本美女在线 | 夜夜撸小说 | 精品香蕉视频 | 老色驴综合网 | 97久久人澡人人添人人爽 | 日韩欧美有码 | 国产二级毛片 | 又黄又爽的视频在线观看 | 毛片网站在线 | 久久蜜桃av | 性做久久久久久久久 | 一卡二卡三卡四卡在线 | 国产精品免费久久久 | 男人天堂影院 | 国产色视频网站 |