Skip to content

kwangu/CleanArchitectureSwifUI

Repository files navigation

CleanArchitectureSwifUI

SwiftUI와 Combine로 구성한 Clean Architecture Sample



Layer 구분

clean

  • Presentation Layer: UI 관련 레이어
  • Domain Layer: 비즈니스 룰과 로직 담당 레이어
  • Data Layer: 원격/로컬등 외부에서 데이터를 가져오는 레이어
  • 각 레이어들의 Dependency 방향은 모두 원밖에서 원안쪽으로 향하고 있음
  • UI를 담당하는 Presentation Layer는 MVVM 패턴으로 구현됨

R1280x0

  • Domain Layer에서 Data Layer를 실행 시킬 수 있는 이유는 Dependency Inversion 으로 구현되었기 때문

Dependency Inversion이란?

  • 각 모듈간의 의존성을 분리시키기 위해 추상화된 인터페이스만 제공하고 의존성은 외부에서 주입(Dependency Injection)시킴


Reference



ScreenShoot

video

About

SwiftUI로 구성한 Clean Architecture Sample

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages