본문 바로가기

MVVM

(4)
[iOS/Architecture] UseCase 활용기 안녕하세요 제인입니다 :)최근에 진행한 개인 프로젝트의 아키텍처를 MVVM-Clean Architecture 로 설계하고, 각 레이어의 역할을 명확히 구분해 전체 코드의 유지보수성을 높이는 데 초점을 맞추어 개발을 했었는데요,이 과정에서 특히 UseCase의 역할에 대해 많이 고민을 한 것 같아요!그래서 제가 저의 방식대로 UseCase를 구성한 내용을 한 번 공유해보려고 합니다.UseCase란?UseCase 레이어의 역할을 한 줄로 정의한다면 아래와 같이 정의할 수 있을 것 같습니다.UseCase는 비즈니스 로직이 위치하는 곳으로, 엔티티로 들어오고 나가는 데이터 흐름을 조정합니다. 이 정의를 좀 풀어서 생각해볼게요!화면에 보여줄 데이터를 원하는 형태로 얻으려면?1. 네트워크 통신을 통해 DB에 있는 ..
[iOS/Architecture] Coordinator Pattern 안녕하세요 제인입니다! 오늘은 참여하고 있는 프로젝트에 도입하게 된 코디네이터 패턴에 대해 정리해보려합니다. 코디네이터를 프로젝트에 적용해보는 것이 처음이라 공부를 하면서 적용하는 과정에 있기 때문에 이번 포스팅에서는 코디네이터 패턴이 무엇인지 알아보는 정도로만 정리하고, 다른 포스팅으로 구체적인 적용기를 들고오도록 하겠습니다!! 이 점 참고해서 읽어주시면 감사하겠습니다 : ) Coordinator Pattern을 도입하게 된 계기 MVVM 아키텍처를 적용해 UI와 비즈니스 로직 코드를 분리해서 코드를 작성하는 과정에서 화면전환은 어디서 해줘야하는거지..? 라는 의문이 들었었는데요, 화면전환이 따지고 보면 UI와 관련된 부분은 아니지만 ViewController가 다음 화면을 present 해주어야하니까..
[iOS] ReactorKit이란? 안녕하세요 제인입니다! 오늘은 최근 진행 중인 프로젝트를 MVVM 구조로 리팩토링을 하며 도입하게된 ReactorKit(리액터킷)에 대해 정리해보려 합니다. 바로 시작할게요!! ReactorKit이란? ReactorKit은 반응 및 단방향 Swift 애플리케이션 아키텍처를 위한 프레임워크입니다. MVVM과 같은 아키텍처에 대해 공부해보신 분들이라면 느끼셨겠지만 아키텍처는 규격화된 형식이 없기 때문에 개발자, 회사마다 쓰는 방식이 정말 다르고 다양합니다. 하지만, ReactorKit은 형식이 존재하기 때문에 MVVM 아키텍처를 프로젝트 내에서 정형화된 방식(같은 템플릿)으로 적용할 수 있다는 장점이 있습니다. 실제로 위와 같이 많은 회사에서 ReactorKit을 사용하고 있다고 합니다! ReactorKit..
[Architecture] MVC, MVP, MVVM 아키텍처 패턴 안녕하세요😊 오늘은 아키텍처 패턴 몇가지에 대해 정리해볼까 합니다! 아키텍처에 대해 공부해야겠다고 생각한 이유는 MVC 패턴으로 개발하며 VC가 모든 역할을 담당하다보니 점점 무거워지는 것을 느꼈고.. 이러한 MVC 패턴의 단점에 대한 대안으로 MVVM 패턴이 있다는 것을 알게 되었습니다. 그래서 이번 포스팅에서 MVC, MVP, MVVM 아키텍처 패턴에 대해 차이점을 위주로 정리해보려고 합니다! 아키텍처 패턴이란? 먼저, 아키텍처 패턴이란 무엇일까요? 위키피디아에 따르면, 아키텍처 패턴이란, 주어진 상황에서의 소프트웨어 아키텍쳐의 공통적인 발생 문제에 대한 일반적인, 재사용 가능한 해결책을 의미한다. 아키텍처 패턴은 소프트웨어 디자인 패턴과 유사하지만 더 큰 범주에 속한다. 간단히 말하면, 아키텍처 패..