본문 바로가기

TIL

[TID] #5 - UseCase와 Interface Provider / Repository Pattern

아키텍쳐에 대한 내용이 어느정도 익숙해지기 시작하면서 UseCase와 Repository에 대해 고민중이다.

 

UseCase의 추상화, 그리고 구현체의 존재 위치는 어디가 좋을까? 그리고 UserCaseProvider를 사용하면 좋은 점이 무엇일까? UseCase를 정말 기능별로 세세하게 하나씩 나누는 것이 좋을까? 모바일 앱의 특수성을 고려하여 Scene 별로 가는 것이 좋을까? 딱 UseCase 하나에 대해서만 정리할 필요성이 느껴진다.

 

Repository Pattern에서는 Repository를 제네릭화하여 하나의 클래스를 사용하는 방식도 있고 단순하게 의존성 역전을 통해 구현한 경우도 있었다. 고민해야 할 부분이 많다..

 

https://github.com/sergdort/CleanArchitectureRxSwift 이 레포지토리의 프로젝트 구조를 참고하고 있는데, 위와 같은 내용들이 보였다.

 

https://github.com/nalexn/clean-architecture-swiftui

위의 링크는 swiftUI와 클린 아키텍쳐로 구현한 프로젝트인데, 컴바인과 Dependency Injector를 사용했다. UIKit만이 아니라 스유 플젝도 참고하기 좋은 것 같다.

 

https://github.com/khoren93/SwiftHub

위 링크에는 다양한 Manager들이 아주 잘 구현되어 사용되고 있다. Manager 클래스를 하나씩 뜯어보고 싶다.

 

https://github.com/tuan188/CleanArchitecture

컴바인 스유로 만든 프로젝트

 

그리고 먼가 이런저런..흐름 타서

https://github.com/ronanociosoig/Tuist-Pokedex

투이스트 샘플을 찾게 되었습니다...

 

https://github.com/AlexRoar/TuistExample/tree/main/Tuist/ProjectDescriptionHelpers

이 프로젝트는 ProjectDescription 코드가 깔끔하다.

 

https://github.com/baekteun/Tuist_Template

지금 하고 있는 프로젝트에서 참고한 레포

 

숙제 : Usecase Provider, Nimble, DI Container 정리하기