728x90
반응형
추상 팩토리 패턴(Abstract Factory Pattern)은 소프트웨어 개발에서 사용되는 디자인 패턴 중 하나입니다. Swift에서도 추상 팩토리 패턴을 활용하여 객체 생성을 추상화하고 관련된 객체들의 패밀리를 생성할 수 있습니다. 이 블로그 포스트에서는 추상 팩토리 패턴의 개념을 소개하고, Swift로 구현된 예제를 통해 추상 팩토리 패턴의 사용법을 알아보겠습니다.
추상 팩토리 패턴의 개념:
추상 팩토리 패턴은 객체 생성을 추상화하는 패턴으로, 관련된 객체들의 패밀리를 생성하기 위한 인터페이스를 제공합니다. 이 패턴은 클라이언트 코드와 구체적인 클래스들 간의 의존성을 줄이고, 코드의 유연성과 확장성을 향상시킬 수 있습니다. 추상 팩토리 패턴은 특히 객체들의 패밀리가 함께 변경되어야 하는 경우 유용합니다.
추상 팩토리 패턴 예제:
protocol Shape {
func draw()
}
class Circle: Shape {
func draw() {
print("Drawing a circle.")
}
}
class Square: Shape {
func draw() {
print("Drawing a square.")
}
}
protocol AbstractFactory {
func createShape() -> Shape
}
class CircleFactory: AbstractFactory {
func createShape() -> Shape {
return Circle()
}
}
class SquareFactory: AbstractFactory {
func createShape() -> Shape {
return Square()
}
}
위의 예제에서는 Shape 프로토콜을 정의하고, Circle과 Square 클래스가 이를 구현합니다. 그리고 AbstractFactory 프로토콜을 정의하고, CircleFactory와 SquareFactory 클래스가 이를 채택하며, createShape() 메서드를 구현합니다.
사용 예시:
let circleFactory: AbstractFactory = CircleFactory()
let circle = circleFactory.createShape()
circle.draw()
let squareFactory: AbstractFactory = SquareFactory()
let square = squareFactory.createShape()
square.draw()
위의 예시에서는 AbstractFactory 프로토콜을 활용하여 CircleFactory와 SquareFactory를 생성합니다. 그리고 createShape() 메서드를 호출하여 각각의 팩토리에서 원하는 도형을 생성하고, draw() 메서드를 호출하여 도형을 그립니다.
728x90
반응형
'Swift' 카테고리의 다른 글
Swift에서 상태 패턴(State Pattern)의 개념과 예제 (0) | 2023.06.15 |
---|---|
Swift에서 템플릿 메소드 패턴(Template Method Pattern)의 개념과 예제 (0) | 2023.06.15 |
Swift에서 팩토리 메서드 패턴(Factory Method Pattern)의 개념과 예제 (0) | 2023.06.15 |
Swift에서 싱글톤 패턴(Singleton Pattern)의 개념과 예제 (0) | 2023.06.15 |
Swift 메모리 누수(Memory Leak)의 개념, 발생 원인 및 해결법 예제 (0) | 2023.06.15 |