
Go语言策略模式算法替换1. 策略接口type SortStrategy interface { Sort(data []int) []int } type BubbleSort struct{} func (s *BubbleSort) Sort(data []int) []int { // 冒泡排序实现 return data } type QuickSort struct{} func (s *QuickSort) Sort(data []int) []int { // 快速排序实现 return data } type Sorter struct { strategy SortStrategy } func (s *Sorter) SetStrategy(strategy SortStrategy) { s.strategy strategy } func (s *Sorter) Sort(data []int) []int { return s.strategy.Sort(data) }2. 总结策略模式定义一系列算法使它们可以相互替换让算法独立于使用它的客户端。