eung7.archive
close
프로필 사진

eung7.archive

github: @eung7

  • 분류 전체보기 (30)
    • CS (5)
      • 운영체제 (5)
      • 네트워크 (0)
    • iOS (22)
      • Swift (1)
      • iOS 기본 (6)
      • iOS 응용 (9)
      • XCode (6)
    • Flutter (1)
      • Dart (1)
      • Flutter 기본 (0)
      • Flutter 응용 (0)
    • 소프트웨어 공학 (2)
  • 홈
  • GitHub
MVVM과 Coordinator Pattern 함께 사용하기 (Feat. ReactorKIt)

MVVM과 Coordinator Pattern 함께 사용하기 (Feat. ReactorKIt)

iOS 어플리케이션을 개발할 때, 아직까지 가장 많이 선호되는 디자인 패턴은 MVVM이라고 할 수 있습니다. 이번에는 MVVM과 Coordinator를 혼합한 디자인 패턴을 사용하고 구체적인 예시를 보여주는 포스트를 작성하려고 합니다. MVVM MVVM은 Model - View - ViewModel의 약어입니다. 아래 이미지에서 보이는 것과 같이 ViewModel은 View와 Model을 이어주는 인터페이스 역할을 하고 있습니다. iOS에서는 통상적으로 View를 ViewController라고 이해해도 좋습니다. 주로 사용자의 이벤트를 감지하고 그에 맞는 비즈니스 로직을 수행하여 View에게 업데이트를 요청합니다. 일반적인 ViewModel과 ViewController간의 소통은 Delegates, Ca..

  • format_list_bulleted iOS/iOS 응용
  • · 2024. 3. 30.
Coordinator Pattern의 개념과 적용 방법

Coordinator Pattern의 개념과 적용 방법

Coordinator Pattern을 한 마디로 정의하면 화면 전환에 대한 코드를 다른 객체에 위임하여 별도로 관리할 수 있도록 하는 디자인 패턴입니다. 그렇다면 이것을 “왜” 사용하는 걸까요? 우리의 ViewController는 할 일이 매우 많습니다. 복잡한 UI를 구성하는 UI일수록 더욱 그렇습니다. 이외에도 데이터와 UI 바인딩, 라이프 사이클 관리, 또 MVC 패턴을 사용한다면 그 크기가 더욱 방대해질 것입니다. 이렇게 하나의 ViewController에서 많은 역할을 수행하면 정작 해야할 UI 관리에 집중을 하지 않게 될 수 있습니다. Coordinator Pattern의 장점 그래서 등장한 것이 Coordinator Pattern디자인 패턴입니다. 우리는 ViewController에서 화면 ..

  • format_list_bulleted iOS/iOS 응용
  • · 2024. 3. 30.
[iOS] ReactorKit 심화 개념 (2/2)

[iOS] ReactorKit 심화 개념 (2/2)

Global States ReactorKit에는 Global State를 위한 Action → Mutation → State Flow가 존재하지 않음 transform(mutation:)을 이용하여 global state를 mutation으로 변환할 수 있음 currentUser라는 BehaviorSubject인 global state가 있다고 가정 위 코드는 currentUser가 변할떄마다 Mutation.setUser를 방출할 수 있게 한다. View Communication ReactorKit을 사용할때는 view communication에 대해 callback closures나 delegate pattern을 지양 Reactorkit 공식 입장은 reactive extensions를 이용해 vi..

  • format_list_bulleted iOS/iOS 기본
  • · 2022. 11. 14.
[iOS] ReactorKit 기본 개념 (1/2)

[iOS] ReactorKit 기본 개념 (1/2)

기본 개념(Basic Concept) ReactorKit은 Reactive 및 단방향 플로우 아키텍처를 제공하는 프레임워크 중 하나이다. 아래 사진 처럼 Action과 View State는 Observable을 통해 전달받게 된다. 즉 View는 User Action에 대해 방출만을 할 수 있으며 Reactor는 State에 대해 방출만을 할 수 있다. ReactorKit을 채택함으로써 얻는 효과는 다음 세 가지가 있다. Testability Start Small Less Typing 이유는 아래와 같다. View가 비즈니스 로직과 분리되어 구현 Reactor는 View와 완전히 독립적인 개체로 존재 특정 몇개의 View에게 ReactorKit을 적용 가능 (기존 프로젝트 모든 코드를 다시 작성할 필요X..

  • format_list_bulleted iOS/iOS 기본
  • · 2022. 11. 14.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • navigate_next
전체 카테고리
  • 분류 전체보기 (30)
    • CS (5)
      • 운영체제 (5)
      • 네트워크 (0)
    • iOS (22)
      • Swift (1)
      • iOS 기본 (6)
      • iOS 응용 (9)
      • XCode (6)
    • Flutter (1)
      • Dart (1)
      • Flutter 기본 (0)
      • Flutter 응용 (0)
    • 소프트웨어 공학 (2)
Copyright © Eung7 모든 권리 보유.

티스토리툴바