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

Posted hello_读书就是赚钱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式这样玩泰简单(Golang版)-策略模式相关的知识,希望对你有一定的参考价值。

场景

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

方案


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

实现

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()

以上是关于设计模式这样玩泰简单(Golang版)-策略模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式这样玩泰简单(Golang版)-命令模式

设计模式这样玩泰简单(Golang版)-命令模式

设计模式这样玩泰简单(Golang版)-装饰者模式

设计模式这样玩泰简单(Golang版)-状态模式

设计模式这样玩泰简单(Golang版)-状态模式

设计模式这样玩泰简单(Golang版)-状态模式