iOS-设计模式-建造者

58 阅读1分钟

两种角色:目标类,建造者类

建造者一步步创建 类对象

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()

应用原则

如果创建一个对象,需要传递的参数过多