apple/DesignPattern, Architecture 25

Swift 디자인패턴 Singleton Pattern (싱글톤 패턴)

Swift 디자인패턴 Singleton Pattern (싱글톤 패턴) Singleton 패턴은 애플리케이션 전체에서 하나의 인스턴스만 생성되도록 보장하며, 전역적으로 접근할 수 있는 접근점을 제공.Swift 6부터는 동시성 문제가 발생할 수 있어서 주의해서 사용 히스토리2022-04-12: 디자인 패턴 스터디 정리2024-11-29: 포스팅 글 재정리 및 조금 더 실용적인 예제 코드로 변경   Singleton PatternSingleton Pattern은 아래의 특성을 가짐전역 접근성: 인스턴스를 전역적으로 접근 가능.하나의 인스턴스: 클래스의 인스턴스는 프로그램 내에서 단 하나만 존재.필요할 때 객체를 생성하며, 힙에 올라가고 앱이 종료될 때 해제됨.장점전역적으로 상태 관리에 용이인스턴스가 하나만..

Swift 디자인패턴 Strategy Pattern (전략 패턴)

Swift 디자인패턴 Strategy Pattern (전략 패턴) Strategy 패턴은 행위(behavior)를 캡슐화하여 런타임에 알고리즘을 교체할 수 있게 해주는 행동 패턴동일한 문제를 해결하기 위해 여러 알고리즘이 존재할 때, 코드를 유연하고 확장 가능하게 만들 수 있음 히스토리2022-04-11: 디자인 패턴 스터디 정리2024-11-29: 포스팅 글 재정리 및 조금 더 실용적인 예제 코드로 변경 Strategy Pattern전략 패턴은 일반적으로 3가지 요소로 구성Context: 전략(Strategy)를 사용하는 객체로 클라이언트가 사용하는 인터페이스로, 구체적인 알고리즘(전략)은 Strategy 객체에 위임Strategy Interface: 알고리즘의 공통 인터페이스 정의Concrete S..

Swift 디자인패턴 Delegation Pattern (딜리게이트 패턴)

Swift 디자인패턴 Delegation Pattern (딜리게이트 패턴) Delegation 패턴은 객체 간의 책임을 위임하여 특정 작업이나 이벤트 처리를 다른 객체에 맡기는 패턴.Swift에서 흔히 사용되며, UIKit과 같은 Apple의 프레임워크에서 널리 활용 히스토리2022-04-10: 디자인 패턴 스터디 정리2024-11-29: 포스팅 글 재정리 및 조금 더 실용적인 예제 코드로 변경 Delegate PatternDelegate Pattern은 일반적으로 2가지 개념으로 구성됨Delegate: 작업을 수행하거나 이벤트를 처리하는 객체Delegating Object: 작업을 위임하는 객체.특징인터페이스에 의존하여 느슨한 결합객체가 특정 작업에 직접 관여하지 않아 코드의 재사용성 증가작업을 위임함..

Swift 디자인패턴 MVC Pattern (MVC 패턴)

Swift 디자인패턴 MVC Pattern (MVC 패턴) MVC 패턴은 개발 아키텍처 중 하나로 모바일, 서버 등 다양한 곳에서 활용.다만 남용할 경우 Massvie View Controller라는 불리듯이 유지보수가 어려워질 수 있음.아주 간단한 기능을 제외하곤 유지보수를 위해 추천하지 않음. 히스토리2022-04-08: 디자인 패턴 스터디 정리2024-11-28: 포스팅 글 재정리 및 예제 변경 코드 예제가장 간단한 예제를 첨부일반적으로 View랑 ViewController를 분리하지 않고 사용MVVM 패턴 리팩토링: https://rldd.tistory.com/384 import UIKitimport SwiftUIimport Combineprivate struct Model { var nam..

[Swift] Class Diagram + 스터디

Swift Class Diagram ✅ 아래 글과 디자인패턴 스터디를 기반으로 작성하였습니다. https://www.raywenderlich.com/books/design-patterns-by-tutorials/v3.0/chapters/2-how-to-read-a-class-diagram Design Patterns by Tutorials, Chapter 2: How to Read a Class Diagram You may have heard of Unified Modeling Language, which is a standard language for creating class diagrams, architectural drawings and other system illustrations. A com..