1 概念
构建者模式定义:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
构建者模式包含如下角色:
- Product:具体产品
- ConcreteBuilder:具体建造者
- Builder:抽象建造者
- Director:指挥者
读者可以对比以下构建者类图理解各种角色的作用
其中ActorController充当指挥者(Director),ActorBuilder充当抽象建造者,HeroBuilder、AngelBuilder充当具体建造者,Actor充当复杂产品。其中ActorController充当指挥者(Director),ActorBuilder充当抽象建造者,HeroBuilder、AngelBuilder和DevilBuilder充当具体建造者,Actor充当复杂产品。
2 go语言实现
2.1 定义产品角色
type Actor struct {
Type string
Sex string
Face string
Costume string
HairStyle string
}
func (a Actor) ShowActorInfo() {
fmt.Println("角色类型: ", a.Type)
fmt