1
0
Fork 0
mirror of https://github.com/tmrts/go-patterns.git synced 2025-04-12 05:20:59 +00:00
go-patterns/creational/builder.go
Oleg Butuzov 46d93d5b47 Builder pattern
added example code
updated readme (code and usage example)
2018-02-18 15:49:46 +02:00

25 lines
454 B
Go

package main
import (
"fmt"
"./builder"
)
func main() {
assembly := car.NewAssembly(&car.Car{}).Color(car.RedColor)
familyCar := assembly.Wheels(car.SteelWheels).TopSpeed(50 * car.MPH).Build()
familyCar.Drive()
fmt.Printf("%#v\n", familyCar)
fmt.Printf("%#s\n", familyCar)
sportsCar := assembly.Wheels(car.SportsWheels).TopSpeed(150 * car.MPH).Build()
sportsCar.Drive()
fmt.Printf("%#v\n", sportsCar)
fmt.Printf("%#s\n", sportsCar)
}