apple/DesignPattern, Architecture

iOS Clean Architecture 실습 (MVVM)

lgvv 2022. 9. 29. 18:48

iOS Clean Architecture 실습 (MVVM)

 

1부에서 학습한 내용을 기반으로 MVVM 형태로 Swift Package를 활용해 샘플 코드를 구현해보고자 함.

 

히스토리

  • 2022-09-23: 클린 아키텍처 스터디 (깃헙 프로젝트 분석)
  • 2024-12-09: 포스팅 글 깔끔하게 정리


목차

 

클린 아키텍처 샘플 코드

예제에 사용한 코드

  • Search Package

ArchitectureExample.zip
0.35MB


용어 정리

DTO(Data Transfer Object)

  • 계층 사이에 데이터 교환을 위해 사용하는 객체로 DTO는 로직을 가지지 않는 데이터 객체를 가진 클래스

 

클린 아키텍처 + MVVM 구조도

해당 샘플에서는 Swift Package를 사용하여 완전 동일하진 않지만, 일반적으로 동일한 개념을 사용

가장 중요한 것은 외부에서 내부로의 디펜던시 룰을 지키는 것이 중요

클린 아키텍쳐 + MVVM

 

클린 아키텍처 샘플 코드

해당 샘플에서는 인프라와 Feature (Presentation + Domain + Data)로 분리하여 구성

 

Clean Architecture Package


스크린샷 UI

스크린샷