-
Notifications
You must be signed in to change notification settings - Fork 0
[ADR] 아키텍처 의사 결정 기록: UI 영역에서 Combine 사용 결정
김영균 edited this page Nov 9, 2023
·
1 revision
작성일 | 작성자 |
---|---|
2023-11-09 | 김영균 |
상태
- 수락됨(Accepted)
배경
- 테스트 가능한 코드 작성을 위해 입력과 출력의 분리의 필요성을 느꼈습니다.
결정
-
Combine
프레임워크 사용을 결정했습니다.
이유
- 데이터 바인딩 방법 중 보편적인 Delegate Pattern과, Observer Pattern이 있습니다.
- Delegate Pattern으로 데이터 바인딩을 할 경우
ViewController
를 mock으로 만들어야하는 테스트가 불편합니다. - 옵저버 패턴 중에는
RxSwift
와Combine
프레임 워크가 있습니다. - 데이터 바인딩에서는 복잡한 연산자가 필요없고 서드파티 라이브러리를 사용하지 못하기 때문에 Combine 프레임 워크로 결정했습니다.
결과 및 영향
- 컴바인 프레임워크와 애플 프레임워크 사이의 높은 호환성이 기대됩니다.
결론
- Combine 프레임워크 사용을 결정했습니다.
- [ADR] 아키텍처 의사 결정 기록: iOS 애플리케이션 아키텍처 채택하기
- [ADR] 아키텍처 의사 결정 기록: SwiftLint 채택
- [ADR] 아키텍처 의사 결정 기록: UI 영역에서 Combine 사용 결정
- [ADR] 아키텍처 의사 결정 기록: Presentation영역의 ViewModel에서 Input Output 패턴 도입 결정
- [ADR] 아키텍처 의사 결정 기록: 코디네이터 패턴 도입 결정
- [ADR] 아키텍처 의사 결정 기록: 로컬 스토리지로 코어 데이터 사용 결정
- [ADR] 아키텍처 의사 결정 기록: Custom Network Foundation 라이브러리 구현 및 모듈화 결정
- [ADR] 아키텍처 의사 결정 기록: 이미지캐셔 라이브러리 구현 및 모듈화 결정