Singleton pattern (Swift)

이득령·2024년 7월 17일

패턴

목록 보기
2/2
post-thumbnail

이번 포스팅은 싱글톤 패턴에 대해 알아보도록 하겠습니다

개인적으로 꼭 알고 있어야 될 패턴이라고 생각을 합니다.

Singleton Pattern이란?

싱글톤 패턴은 특정한 용도에 맞게 객체를 하나만 생성하여 공용으로 사용하고 싶을 때 사용하는 패턴입이다.

예제

싱글톤의 나쁜 예

class Employess {
	number: Int
	name: String
	address: String
}

employees 클래스를 만들고 사원에 정보를 담아줍니다

//NumberViewController.swift
let emp = Employess()
emp.number = 123

//NameViewController.swift
let emp = Employess()
emp.name = "DeukRyoeng"

//AddressViewController.swift
let emp = Employess()
emp = address = "DeukRyoeng"

이런식으로 만들면 각 뷰마다 객체를 생성하여 총 3개의 객체가 생성됩니다

이렇게 각 ViewController에 Instance를 생성하게 되면 데이터 일관성에 문제가 생깁니다.

하나의 인스턴스를 만들어 어떤 클래스에서든 접근이 가능하도록 만드는것이 싱글톤 패턴입니다

싱글톤 패턴의 좋은예?

class Employess {
    static let shared = Employess()
	number: Int
	name: String
	address: String
	
	private init() { }	
}

static 으로 전역 변수로 지정 해줍니다.

init 함수 접근제어자를 private 으로 지정

다른 인스턴스 생성을 예방 해줍니다.

profile
프로그래머 아님

0개의 댓글