Swift
Swift에서 어댑터 패턴(Adapter Pattern)의 개념과 예제
mr.conan
2023. 6. 15. 18:24
728x90
반응형
어댑터 패턴(Adapter Pattern)은 소프트웨어 개발에서 사용되는 디자인 패턴 중 하나입니다. Swift에서도 어댑터 패턴을 활용하여 호환되지 않는 인터페이스를 갖는 클래스들을 함께 동작할 수 있도록 만들 수 있습니다. 이 블로그 포스트에서는 어댑터 패턴의 개념을 소개하고, Swift로 구현된 예제를 통해 어댑터 패턴의 사용법을 알아보겠습니다.
어댑터 패턴의 개념: 어댑터 패턴은 호환되지 않는 인터페이스를 갖는 클래스들을 함께 동작할 수 있도록 중간에서 변환해주는 역할을 합니다. 이를 통해 기존의 클래스를 수정하지 않고도 다른 클래스와 협업할 수 있습니다. 어댑터 패턴은 호환성 문제를 해결하고, 코드의 재사용성을 높일 수 있습니다.
어댑터 패턴 예제:
protocol Target {
func request()
}
class Adaptee {
func specificRequest() {
print("Adaptee: Handling specific request.")
}
}
class Adapter: Target {
private let adaptee: Adaptee
init(adaptee: Adaptee) {
self.adaptee = adaptee
}
func request() {
print("Adapter: Converting Target interface to Adaptee.")
adaptee.specificRequest()
}
}
위의 예제에서는 Target 프로토콜을 정의하고, Adaptee 클래스가 호환되지 않는 인터페이스를 갖습니다. Adapter 클래스는 Target 프로토콜을 구현하며, Adaptee와 Target 사이의 변환 역할을 수행합니다.
사용 예시:
let adaptee = Adaptee()
let adapter = Adapter(adaptee: adaptee)
adapter.request()
위의 예시에서는 Adaptee 인스턴스인 adaptee를 생성하고, 이를 이용하여 Adapter 인스턴스를 생성합니다. adapter.request()를 호출하여 Adaptee의 specificRequest() 메서드를 호출하는 동작을 수행합니다.
728x90
반응형