Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
변경된 점
도메인/데이터 계층 모듈구조 변경
기존의 모듈 구조의 경우 인터페이스, 모델, 구현체 모듈이 각각존재했습니다.
모듈분리를 통한 근거가 부족하고 모듈간 의존 관계가 복잡해지는 결과를 초례했습니다. 따라서 해당 모듈들을 하나의 모듈로 통합시켰습니다.
코디네이터간 의존성 감축
기존의 코드의 경우 의존성 주입을 위해 상위 코드네이터가 하위 코디네이터의 의존성 객체를 보유해야 했습니다.
해당 구조는 코디네이터간 커플링을 증가시켜 네비게이션 구조에까지 종속성을 만들어 버리는 결과를 초례했습니다.
이 문제를 해결하고자, 의존성주입을 싱글톤 객체를 사용하는 방식으로 변경했습니다.
이를 위해 Core모듈을 만들어 모든 모듈이 해당 모듈에 접근가능하게한 후, 해당 모듈에 싱글톤 객체를 정의하여 접근가능하도록 코디네이터간 계층관계없이 의존성을 주입받을 수 있도록 설정했습니다.
Injected프로퍼티 랩퍼를 사용하여, 싱글톤객체에 접근하지 않고 주입이 가능하도록 구현하였습니다.