3. Factory
Factory(팩토리) 디자인 패턴은 객체 생성과 관련된 디자인 패턴
으로서 사용자에게 객체 생성 로직을 노출하지 않은채 객체를 생성
하기 위해서 제공되는 패턴입니다.
사용자는 단순히 필요한 객체의 생성 로직을 신경쓰지 않고 특정 객
체에 대해서 가져올 수 있습니다.
4. Implementation
구체적인 구현에 대해서 소스 코드를 통하여 살펴봅니다.
class Factory {
func makePen() -> Pen {
return Pen()
}
func makePencil() -> Pencil {
return Pencil()
}
}
class Pen {
init() {
print("Pen init")
}
func make() {
print("Make a pen.")
}
}
class Pencil {
init() {
print("Pencil init")
}
func make() {
print("Make a pencil.")
}
}
5. Implementation
let factory = Factory()
let pen = factory.makePen() // Pen init
pen.make() // Make a pen.
let pencil = factory.makePencil() // Pencil init
pencil.make() // Make a pencil.