본문 바로가기
Swift

Swift에서 프록시 패턴(Proxy Pattern)의 개념과 예제

by mr.conan 2023. 6. 15.
728x90
반응형

프록시 패턴(Proxy Pattern)은 소프트웨어 개발에서 사용되는 디자인 패턴 중 하나입니다. Swift에서도 프록시 패턴을 활용하여 객체의 대리자 역할을 수행할 수 있습니다. 이 블로그 포스트에서는 프록시 패턴의 개념을 소개하고, Swift로 구현된 예제를 통해 프록시 패턴의 사용법을 알아보겠습니다.

 

프록시 패턴의 개념: 프록시 패턴은 다른 객체에 대한 대리자 역할을 수행하는 객체를 제공합니다. 이를 통해 객체의 접근을 제어하거나 추가적인 동작을 수행할 수 있습니다. 프록시 패턴은 객체의 생성, 소멸, 접근 등의 제어를 위해 사용될 수 있습니다.

프록시 패턴 예제:

protocol Subject {
    func request()
}

class RealSubject: Subject {
    func request() {
        print("RealSubject: Handling request.")
    }
}

class Proxy: Subject {
    private var realSubject: RealSubject?

    func request() {
        if realSubject == nil {
            realSubject = RealSubject()
        }

        print("Proxy: Pre-processing request.")
        realSubject?.request()
        print("Proxy: Post-processing request.")
    }
}

위의 예제에서는 Subject 프로토콜을 정의하고, RealSubject 클래스가 이를 구현합니다. Proxy 클래스는 Subject 프로토콜을 구현하며, RealSubject의 대리자 역할을 수행합니다.

 

사용 예시:

let proxy = Proxy()
proxy.request()

 

위의 예시에서는 Proxy 인스턴스를 생성하고, request() 메서드를 호출합니다. 프록시를 통해 실제 서브젝트인 RealSubjectrequest() 메서드가 호출되며, 전/후 처리 작업이 수행됩니다.

728x90
반응형