Swift Architecture/Design Pattern(10)
-
[Swift] 당신이 싱글톤 (Singleton)을 사용하기 전에 반드시 알아야 하는 것들
💡 싱글톤 패턴(Singleton Pattern)은 앱에서 전역적 (global)으로 접근 가능한 하나의 "공유 클래스 인스턴스 (shared instance of a class)"를 만들어 사용하도록 하는 디자인 패턴이다.예전 제 글 중, Swift 디자인 패턴 중 싱글톤 패턴 (Singleton Pattern)에 대해 설명했던 내용이 있었습니다.아래에 첨부되어 있는 글의 내용은 타입 프로퍼티 (static 키워드)부터 시작해 실제 싱글톤 패턴을 Swift 코드로 구현하는 방법, 그리고 싱글톤의 가벼운 장단점과, Apple이 채택하고 있는 싱글톤의 사례 (UserDefaults.standard, Notification.default 등등)까지 알아봤었죠. ✔️ 싱글톤 패턴이 무엇인지 아직 개념에 대한..
2025.06.05 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (9) - 데코레이터 패턴(Decorator Pattern)
1️⃣ 데코레이터 패턴(Decorator Pattern) 왜(Why) 쓰는 거야?💡 데코레이터 패턴(Decorator Pattern)은 객체에 새로운 기능을 동적으로 추가할 수 있게 해주는 구조 패턴(Structural Pattern)이다.객체에 새로운 기능을 동적으로 추가하기 위해 쓴다고...?이미 Swift에서 기능을 추가하는 방법으로 (1) 기존 클래스에서 "상속"을 받아 하위 클래스로 구현하거나, (2) Extension으로 기능을 "확장"시킬 수 있는데 굳이 이 디자인 패턴을 쓰면서까지 기능을 추가할 필요가 있을까..? 하는 것이 나의 첫 생각이었다.하지만, 데코레이터 패턴(Decorator Pattern)을 사용했을 때 상속과 확장에 비해 확연하게 구분되어 얻을 수 있는 장점이 있었다.아직 ..
2024.08.22 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (8) - 어댑터 패턴(Adapter Pattern)
1️⃣ 어댑터 패턴(Adapter Pattern)이 뭐야?💡 어댑터 패턴(Adapter Pattern)은 서로 호환되지 않던 인터페이스(protocol)를 변환시켜 함께 작동할 수 있도록 만드는 구조 패턴(Structural Pattern)이다.위의 말이 무슨 말인지 잘 이해가 안된다면 아래와 같이 이해해 보는 건 어떨까?기존에 사용하고 있던 규격이 이미 있는 상황에서, 새롭게 사용하려는 시스템의 규격이 기존 규격과 맞지 않는다면? -> 어댑터(Adapter)라는 변환 도구를 중간에 두어 기존 규격과 새로운 규격을 함께 사용할 수 있도록 만드는 것이 바로 어댑터 패턴이다.어댑터 패턴에서 반복적으로 사용하는 용어는 아래 네 가지다.Target (Interface = Protocol) : 기존 시스템이 사..
2024.08.05 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (7) - 코디네이터 패턴(Coordinator Pattern)
1️⃣ 코디네이터 패턴 (Coordinator Pattern) 왜 (Why?) 쓰는 거야?예전 MVC 글에서도 다룬 적이 있지만, 기본적으로 iOS 개발에서 사용되는 아키텍처의 대표적인 문제는 Massive ViewController, 즉 View와 Controller를 합쳐서 사용하는 ViewController의 책임과 역할이 너무 많다는 것이었다.👇🏻 MVC Pattern 글을 리마인드하고 싶으면, 아래 글을 확인할 것! [Architecture Pattern] 내가 보려고 정리하는 Swift 아키텍처 패턴 (1) - MVC 패턴 (Model-View-Controller)💡 글을 시작하기 전에, 아키텍처 패턴 (Architecture Pattern)이 무엇인지 설명하고 넘어가자면!아키텍처 패턴은..
2024.07.04 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (6) - 팩토리 패턴(Factory Pattern)
1️⃣ 팩토리 패턴 왜 쓰는 건데?팩토리 패턴 (Factory Pattern)은 객체의 생성을 "팩토리"라는 별도의 클래스로 분리하여, 추상화된 부분에 의존하도록 만드는 패턴이다.가장 근본적으로는 팩토리 패턴으로 객체 생성 과정의 책임을 분리할 수 있으며,더 나아가 복잡한 객체를 생성하는 과정을 숨길 수 있고, 객체(= UI Component) 생성 과정에서 변경사항이 생겼을 때 수정이나 확장이 용이하다는 장점을 가지게 된다.팩토리 패턴은 크게 다시, 팩토리 메서드 패턴 (Factory Method Pattern)과 추상 팩토리 패턴 (Abstract Factory Pattern)으로 나눌 수 있다. 자세한 내용은 아래에서 순서대로 코드와 예시와 함께 살펴보도록 하겠다.Factory Method : 단일..
2024.07.01