问题描述
因此,我想创建一个顺序重要的构建器。但是,我不想让呼叫者担心该命令的顺序。
class myClass {
private var a: Bool
private var b: Bool
private var c: Bool
init() {
a = false
b = false
c = false
}
func build() { // enforces order
if a {
// build a
}
if b {
// build b
}
if c {
// build c
}
return
}
func setA() -> myClass {
a = true
return self
}
func setB() -> myClass {
b = true
return self
}
func setC() -> myClass {
c = true
return self
}
}
这是我当前的解决方案。这样,呼叫者无需关心订单。构建函数将处理订单。这就是我想要的。但是我的问题是,我可以不使用布尔值来做到这一点吗?有没有更干净的解决方案来实现相同的目的?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)