两种角色:目标类,建造者类
建造者一步步创建 类对象
class Person {
var name: String?
var age: Int = 0
class Builder {
private let person = Person()
func setName(_ name: String) -> Builder {
person.name = name
return self
}
func setAge(_ age: Int) -> Builder {
person.age = age
return self
}
func build() -> Person {
return person
}
}
}
let tom = Person.Builder()
.setName("Tom")
.setAge(20)
.build()
应用原则
如果创建一个对象,需要传递的参数过多