🍏/DesignPattern(3)
-
[iOS] Delegate Pattern / 델리게이트(위임) 패턴
1. iOS에서 Delegate 패턴이란?Delegate 패턴은 객체 간의 통신을 구현하는 데 사용되는 디자인 패턴으로, 한 객체가 다른 객체의 행동을 위임할 때 사용됩니다.역할:A 객체가 특정 이벤트나 작업을 처리할 권한을 B 객체에게 위임(delegate)합니다.위임받은 객체는 정의된 프로토콜을 준수하여 해당 작업을 수행합니다.주요 특징:1:1 관계: 한 객체는 하나의 delegate만 가질 수 있음.타이트한 결합: 위임받은 객체를 명시적으로 지정해야 함.유연성: 이벤트나 작업 처리 로직을 외부 객체에 위임하여 재사용성과 코드 분리를 향상.2. Delegate 패턴 사용 사례Delegate 패턴은 1:1 이벤트 처리가 필요한 상황에서 사용됩니다.사용 사례UITableView, UICollectionV..
2024.12.30 -
[Swift] Singleton Multithread Strategy / 싱글톤 멀티스레드 전략
안전한 Singleton Pattern을 위환 Thread-Safe 관리우리는 앱에서 전역적인 리소스 공유, 앱 상태 관리, 네트워크 요청, 로깅 및 분석 등과 같은 곳에서 싱글톤 패턴을 활용합니다.이때 어디서든 동일한 인스턴스에 접근하게 되고, 앱이 복잡해질수록 데이터 레이스가 발생할 가능성이 높아질 수 있습니다. 이때 사용할 수 있는 방안에 대해서 몇 가지 예시를 제시합니다. 1. DispatchQueue를 활용한 데이터 동기화final class Singleton { static let shared = Singleton() private let queue = DispatchQueue(label: "com.singleton.threadsafe", attributes: .concurr..
2024.12.27 -
[CS] MVC design pattern / MVC 디자인 패턴
MVC 패턴은 애플에서 기본적으로 지원하는 디자인 패턴 Model + View + Controller 구조의 architecture pattern. 1. Model은 앱의 데이터와 핵심 기능인 비즈니스 로직등을 소유 2. View는 사용자에게 정보를 표시 (하나 이상의 뷰) 데이터를 보여주거나 UI를 담당한다. 3. Controller는 Model과 View의 중간다리 역할로 View로부터 사용자의 입력을 처리하여 Model에게 어떤 작업을 해야 하는지 알려주거나, Model의 데이터 변화를 View에게 전달하여 View를 어떻게 업데이트할지 알려준다. 이는 정보가 사용자에게 제공되는 방식과 사용자로부터 받아 들여지는 방식에서 정보의 내부적인 표현을 분리하기 위해 나뉘어진다. 이는 컴포넌트를 분리하며 코..
2022.10.21