Swift Architecture(14)
-
[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 -
[UIKit] Swift MVC 패턴 (Model-View-Controller) 기본 개념 이해하기
💡 글을 시작하기 전에, 아키텍처 패턴 (Architecture Pattern)이 무엇인지 설명하고 넘어가자면!아키텍처 패턴은 애플리케이션에서 필요한 주요 부분을 각각 분리하여, 역할을 명확하게 구분하는데 사용되는 일종의 "규칙"과 같은 개념이다.이렇게 역할을 구분함으로써 코드의 유지보수성도 올라가고, 재사용성도 올라가고, 코드 가독성도 높이는 (코드의 한 부분이 너무 길어서 "이게 뭐하는 코드야"라는 생각을 가지지 않아도 되니까!) 효과를 얻을 수 있다.-> 소프트웨어를 만든다고 하면, 본인도 알게 모르게 기본적인 아키텍처 패턴은 사용되고 있다. 1️⃣ MVC (Model-View-Controller) 패턴이 뭐야?MVC(Model-View-Controller) 패턴은 가장 기본적인 애플리케이션의 설..
2024.07.02 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (6) - 팩토리 패턴(Factory Pattern)
1️⃣ 팩토리 패턴 왜 쓰는 건데?팩토리 패턴 (Factory Pattern)은 객체의 생성을 "팩토리"라는 별도의 클래스로 분리하여, 추상화된 부분에 의존하도록 만드는 패턴이다.가장 근본적으로는 팩토리 패턴으로 객체 생성 과정의 책임을 분리할 수 있으며,더 나아가 복잡한 객체를 생성하는 과정을 숨길 수 있고, 객체(= UI Component) 생성 과정에서 변경사항이 생겼을 때 수정이나 확장이 용이하다는 장점을 가지게 된다.팩토리 패턴은 크게 다시, 팩토리 메서드 패턴 (Factory Method Pattern)과 추상 팩토리 패턴 (Abstract Factory Pattern)으로 나눌 수 있다. 자세한 내용은 아래에서 순서대로 코드와 예시와 함께 살펴보도록 하겠다.Factory Method : 단일..
2024.07.01 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (5) - 옵저버 패턴(Observer Pattern with NotificationCenter)
1️⃣ 옵저버 패턴 (Observer Pattern) 기본 개념 살펴보기옵저버 패턴 (Observer Pattern)의 개념은 매우 간단하다.한 객체에서 일어나는 정보를 다른 특정한 여러 객체들에게 전달할 때 사용하는 디자인 패턴이다.여기서 말하는 "객체에서 일어나는 정보"란 데이터의 추가/수정/삭제와 같은 변경사항, 객체에서 발생한 이벤트 등을 의미한다고 이해하면 되겠다.예시나 자세한 코드로 디자인 패턴을 살펴보기 전에, 앞으로 사용될 기본 개념들에 대해 살펴보고 넘어가 보자!*용어도 각 예시마다 다양하게 바뀌면서 사용되니까 모두 동일한 느낌으로 혼용해서 사용된다고 이해하면 좋겠다.Subject, Publisher (주제) : 옵저버들이 관심있게 보는 객체 (주제) = 특정한 이벤트가 발생되거나, 상태..
2024.05.14 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (4) - 빌더 패턴(Builder Pattern)
1️⃣ 빌더 패턴 (Builder Pattern)이 왜 필요하게 된 거지? 빌더 패턴 (Bulder Pattern)은 복잡한 객체를 생성하는 방법을 정의한 디자인 패턴이다. "복잡한 객체를 생성한다"는 말이 잘 와닿지 않을 수도 있어, 내가 주문했던 메뉴 중 가장 복잡했던 서브웨이 샌드위치를 예시로 들어보겠다. 서브웨이 샌드위치를 하나 시키기 위해서는 사소하게 주문해야 할 게 참 많았다. 빵은 어떤 것을 고를 거고, 치즈는 어떻게 할 거고, 야채는 어떤 것은 많이 넣고, 어떤 것은 빼고, 소스는 어떻게 하고... 등을 매번 일일이 주문하기 힘들었던 경험이 서브웨이에 한 번이라도 가본 적 있다면, 공감할 것이다. 이 상황을 iOS 개발자의 입장에서 를 객체로 바라보고 코드로 표현하면 아래와 같이 작성할 수..
2024.02.26