设计模式这样玩泰简单(Golang版)-策略模式

文章介绍了策略模式作为解决多种执行方案的方法,通过定义接口来抽象动作,并根据不同场景实现具体策略。示例代码展示了如何在Go中创建并切换不同策略(PlanA和PlanB)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景

老板:如果执行一个动作有多种方案,可以根据用户需要来实时调整方案,那么你觉得用什么设计模式比较合适
你:那就使用策略模式

方案

在这里插入图片描述
策略模式在我的工作中,是比较常见的设计模式之一、在面试中也经常会被用到.
我的总结非常简单,它就是利用接口来完成抽象,对具体的动作做具体的实现封装.
不需要纠结怎么样才算用好策略模式,只要记住抽象,把统一的流程给抽象出来形成程序主体脉络.然后再根据特殊的场景做不同的实现,这样我的理解就是运用了策略模式.

实现

package main

import "fmt"

type Strategy interface {
	Run()
}

type StrategyPlanA struct {

}

func (a *StrategyPlanA) Run()  {
	fmt.Println("执行planA")
}

type StrategyPlanB struct {

}

func (b *StrategyPlanB) Run()  {
	fmt.Println("执行planB")
}

func main(){
	var s Strategy
	s=&StrategyPlanA{}
	s.Run()
	fmt.Println("切换策略")
	s=&StrategyPlanB{}
	s.Run()
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值