Go语言模板方法模式:算法骨架
Go语言模板方法模式:算法骨架
1. 模板方法实现
type AbstractClass struct{} func (a *AbstractClass) TemplateMethod() { a.Step1() a.Step2() a.Step3() } func (a *AbstractClass) Step1() {} func (a *AbstractClass) Step2() {} func (a *AbstractClass) Step3() {} type ConcreteClass struct { AbstractClass } func (c *ConcreteClass) Step2() { fmt.Println("ConcreteClass Step2") }2. 总结
模板方法模式定义算法骨架,将某些步骤延迟到子类中实现。
