[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🍎 Apple/Patterns 6

[iOS Design Pattern] Decorator

Design Pattern - Decorator 주어진 상황 및 용도에 따라 특정 객체에 책임을 덧붙이는 패턴입니다. 기능 확장이 필요한 경우 서브클래싱 대신 사용할 수 있습니다. 기본구조 Decorator 패턴의 기본적인 구조입니다. Component : Component와 Decorator 측에서 구현할 인터페이스입니다. Decorator : Component를 상속하면서, 내부적으로 Component를 보유하고 있습니다. Concrete Component : Component를 구현한 구현체로, Decorate를 적용할 기본 객체입니다. Concrete Decorator : Decorator를 구현할 구현체입니다. 솔직히 아직까지는 단순한 상속과 뭐가 그렇게 다른건지 잘 와닿지 않습니다. 이를 Sw..

🍎 Apple/Patterns 2022.05.18

[iOS Design Pattern] Factory Method

Factory Method Pattern Factory 패턴은 객체를 생성하는 모듈인 'Factory'를 만들어놓고 요청에 따라 객체를 생성하는 패턴입니다. Factory Method 패턴은 어떤 객체의 인스턴스를 생성할지 서브 클래스에서 결정하도록 합니다. 객체 생성을 처리하는 팩토리를 프로토콜로 관리하여 실질적인 생성을 캡슐화하는 것이 가능합니다. 일반적으로 Creator, Concrete Creater, Product, Concrete Product로 구성됩니다. Creator에서는 추상적 정보만 파악하고 있고, Concrete Creator에서 객체 생성에 대한 결정을 수행합니다. 아래는 간단한 구현예시입니다. // Product protocol Product { func hello() } Pro..

🍎 Apple/Patterns 2022.04.26

[iOS Design Pattern] Coordinator

Coordinator Pattern Coordinator 패턴은 ViewController가 보유하던 책임 중 Navigation과 관련된 부분을 다른 인스턴스에서 책임지도록 하는 패턴입니다. 기존의 ViewController에서 직접적으로 화면전환을 시행하는 방식은 다음에 띄워질 다른 ViewController에 대해 기존 ViewController가 알고 있어야 하는 구조입니다. 이는 ViewController 인스턴스 간에 심한 커플링을 발생시킵니다. 이를 해결한 것이 Coordinator 패턴입니다. 모든 ViewController는 Coordinator 인스턴스만 보유할뿐, 다른 ViewController 인스턴스를 직접적으로 보유하지 않습니다. 그저 Coordinator에게 요청할 뿐입니다. ..

🍎 Apple/Patterns 2022.04.12

[iOS Architecture] VIPER

안녕하세요 이누입니다. 오늘은 많이 들어만보고 뭔지는 아직도 모르는 VIPER 패턴에 대해 학습해봤습니다. VIPER 패턴? 먼저 VIPER 패턴입니다. VIPER는 View, Interactor, Presenter, Entity, Router의 약자입니다. 이름대로 이 5개의 요소로 UI 구성 패턴을 정의합니다. 각 요소들은 위와 같이 상호작용하며 자신의 역할을 수행합니다. 각 요소의 역할은 다음과 같습니다. View ViewController를 포함해 화면에 보여지는 모든 것들이 여기에 포함됩니다. Presenter에 대한 참조를 보유합니다. Presenter에서 호출하여 자신을 변경할 수 있는 메서드를 내부에 보유합니다. (다른 방식으로 Presenter의 이벤트를 확인해 직접적으로 처리하도록 할 ..

🍎 Apple/Patterns 2022.04.11

[iOS Architecture] MVC, MVP, MVVM (feat. Clean Architecture)

안녕하세요 이누입니다. 개인적으로 아키텍처 부분이 많이 부족하다는 생각이 들어서 Clean Architecture 이론과 MVC, MVP, MVVM 아키텍처의 개념을 최대한 iOS의 관점에서 바라보며 공부하고 정리해봤습니다. 그럼 시작할게요! Clean Architecture 먼저 Clean Architecture에 대해서 간단하게 이야기해보겠습니다. Clean Architecture는 Robert C. Martin(a.k.a Uncle Bob)님이 제안하신 '좋은 아키텍처'에 대한 이론입니다. (위 그림에 나오는 각 레이어의 자세한 역할과 의미에 대해서는 원글(https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)을 참..

🍎 Apple/Patterns 2022.01.30

Clean Architecture and Design - Robert C. Martin (엉클 밥)

해당 게시글은 Robert C. Martin님의 Clean Architecture and Design 강의를 보고 내용을 정리한 게시글입니다. 다만 개인적인 정리 및 확인의 용도로 작성한 게시글이기 때문에 가독성이 떨어집니다. 관심 있는 분들은 직접 영상을 감상하시는 것을 추천드립니다. 한글자막도 있고 길이도 1시간 정도밖에 되지 않아요. 아직 안 보신 분은 꼭 보세요!!! https://amara.org/ko/videos/0AtjY87egE3m/url/1216370/ Video Subtitling, Captioning and Subtitle Translation - Amara Subtitling The FCCChairman's AAA The Chairman's Awards for Advancement ..

🍎 Apple/Patterns 2022.01.21