In support to blog post https://codewithshabib.com/2017/02/25/dealing-with-telescopic-constructors-anti-pattern/
class Biriyani { | |
let count: Int | |
let size: OrderSize | |
let spiceRange: SpiceRange | |
init (count: Int, size: OrderSize, spiceRange: SpiceRange) { | |
self.count = count | |
self.size = size | |
self.spiceRange = spiceRange | |
} | |
convenience init(size: OrderSize, spiceRange: SpiceRange) { | |
self.init(count: 1, size: size, spiceRange: spiceRange) | |
} | |
convenience init(spiceRange: SpiceRange) { | |
self.init(count: 1, size: .medium, spiceRange: spiceRange) | |
} | |
} | |
class Restaurant { | |
var biriyaniOrder1 = Biriyani(size: .medium, spiceRange: .extraHot) | |
var biriyaniOrder2 = Biriyani(spiceRange: .extraHot) | |
... | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment