建造者模式;生成器模式;建造模式
/*
Builder Pattern
建造者模式;生成器模式;建造模式
构建器模式将复杂对象的构造与其表示形式分开,
以便同一构造过程可以创建不同的表示形式。
*/
package main
type Speed float64
const (
MPH Speed = 1
KPH = 1.60934
)
type Color string
const (
BlueColor Color = "blue"
GreenColor = "green"
RedColor = "red"
)
type Wheels string
const (
SportsWheels Wheels = "sports"
SteelWheels = "steel"
)
type Interface interface {
Drive() error
Stop() error
}
type Builder interface {
Color(Color) Builder
Wheels(Wheels) Builder
TopSpeed(Speed) Builder
Build() Interface
}