Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Packages

Contributors

Languages