꾸준히 안타치기
싱글턴 패턴 본문
반응형
싱글턴 (SingleTon)
싱글턴은 '특정 클래스의 인스턴스가 오직 하나임을 보장하는 객체'를 의미합니다. 싱글턴은 애플리케이션이 요청한 횟수와는 관계없이 이미 생성된 같은 인스턴스를 반환합니다. 즉, 애플리케이션 내에서 특정 클래스의 인스턴스가 딱 하나만 있기 때문에 다른 인스턴스들이 공유해서 사용할 수 있습니다.
클래스가 여러번 호출되어도 딱 한 객체만 생성되도록 하는 디자인패턴이다!
ex) 세팅을 관리하는 객체는 반드시 하나만 존재해야한다.
https://youtu.be/lJES5TQTTWE?t=62 / 객체지향 패턴 얄팍한코딩사전 링크
Cocoa 프레임워크에서의 싱글턴 디자인 패턴
Cocoa 프레임워크에서 싱글턴 디자인 패턴을 활용하는 대표적인 클래스를 소개합니다.
싱글턴 인스턴스를 반환하는 팩토리 메서드나 프로퍼티는 일반적으로 shared라는 이름을 사용합니다.
- FileManager
- 애플리케이션 파일 시스템을 관리하는 클래스입니다.
- FileManager.default
- URLSession
- URL 세션을 관리하는 클래스입니다.
- URLSession.shared
- NotificationCenter
- 등록된 알림의 정보를 사용할 수 있게 해주는 클래스입니다.
- NotificationCenter.default
- UserDefaults
- Key-Value 형태로 간단한 데이터를 저장하고 관리할 수 있는 인터페이스를 제공하는 데이터베이스 클래스입니다.
- UserDefaults.standard
- UIApplication
- iOS에서 실행되는 중앙제어 애플리케이션 객체입니다.
- UIApplication.shared
- 주의할 점
- 싱글턴 디자인 패턴은 애플리케이션 내의 특정 클래스의 인스턴스가 하나만 존재하기 때문에 객체가 불필요하게 여러 개 만들어질 필요가 없는 경우에 많이 사용합니다. 예를 들면 환경설정, 네트워크 연결처리, 데이터 관리 등등이 있습니다. 하지만 멀티 스레드 환경에서 동시에 싱글턴 객체를 참조할 경우 원치 않은 결과를 가져올 수 있습니다. 어떤 디자인 패턴을 활용하더라도 항상 긍정적인 면과 위험성을 함께 고려하여 활용하세요.
https://www.boostcourse.org/mo326/lecture/16855?isDesc=false
iOS 앱 프로그래밍
부스트코스 무료 강의
www.boostcourse.org
좋은설명참고
https://babbab2.tistory.com/66
Swift) 싱글톤 패턴(Singleton Pattern)
안녕하세요 :) 소들입니다 이번 포스팅에선 싱글톤 패턴이 무엇이고, Swift에선 어떻게 사용되는지에 대해 알아보려고 해요!!! 왜 네트워크 하다가 갑자기 SingleTon이냐 하면 내 마음임 모든 포스팅
babbab2.tistory.com
반응형
'iOS > 디자인패턴' 카테고리의 다른 글
MVVM + Rxswift + UIkit을 사용하며 알게된 것 (0) | 2023.02.27 |
---|---|
MVVM의 개념과 나오게된 배경 (0) | 2022.10.05 |
MVC 패턴(Model - View -Controller) (0) | 2021.12.16 |
프로그래밍 디자인패턴 (0) | 2021.12.16 |
Comments