golang 设计模式 visitor_test 代码实现
package visitor
func ExampleRequestVisitor() {
c := &CustomerCol{}
c.Add(NewEnterpriseCustomer("A company"))
c.Add(NewEnterpriseCustomer("B company"))
c.Add(NewIndividualCustomer("bob"))
c.Accept(&ServiceRequestVisitor{})
/ Output:
/ serving enterprise customer A company
/ serving enterprise customer B company
/ serving individual customer bob
}
func ExampleAnalysis() {
c := &CustomerCol{}
c.Add(NewEnterpriseCustomer("A company"))
c.Add(NewIndividualCustomer("bob"))
c.Add(NewEnterpriseCustomer("B company"))
c.Accept(&AnalysisVisitor{})
/ Output:
/ analysis enterprise customer A company
/ analysis enterprise customer B company
}
目录
go 设计模式
相关文章
访问者模式
设计模式 visitor 实现