싱글턴(Singleton) 디자인 패턴

싱글턴(Singleton) 디자인 패턴은 특정 클래스의 인스턴스가 전역에서 오직 하나만 생성되도록 보장하는 패턴입니다. 이 패턴은 전역 상태를 관리하거나 공유 리소스에 대한 접근을 통제할 때 유용하게 사용됩니다. Swift에서는 다음과 같이 간단한 예제를 통해 싱글턴 패턴을 구현할 수 있습니다.

class Singleton {
    // 싱글턴 인스턴스를 저장할 정적 상수
    static let sharedInstance = Singleton()

    // 외부에서 인스턴스화를 방지하기 위해 private 이니셜라이저 사용
    private init() { }

    func doSomething() {
        print("Singleton instance is doing something")
    }
}
// 사용 예시
Singleton.sharedInstance.doSomething() // 출력: Singleton instance is doing something

위 예제에서 Singleton 클래스는 sharedInstance라는 정적 상수를 가지고 있습니다. sharedInstance는 Singleton 타입의 인스턴스를 저장하며, 처음 접근될 때 인스턴스가 생성됩니다. 이 클래스의 이니셜라이저는 private으로 선언되어 외부에서 인스턴스를 생성할 수 없도록 합니다.

doSomething() 메서드는 싱글턴 인스턴스가 수행할 작업을 나타냅니다. 싱글턴 인스턴스를 사용하려면 Singleton.sharedInstance를 통해 접근할 수 있습니다.

이 예제는 싱글턴 디자인 패턴을 사용하여 특정 클래스의 인스턴스가 전역에서 하나만 생성되도록 보장하는 방법을 보여줍니다. 이 패턴은 전역 상태를 관리하거나 공유 리소스에 대한 접근을 통제하는 데 도움이 됩니다. 그러나 싱글턴 패턴의 남용은 코드의 결합도를 높이고 테스트를 어렵게 만들 수 있으므로 주의해서 사용해야 합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다