초기 설계 단계에서 UI, 상태 관리, 비즈니스 로직, 네트워크 로직을 명확히 분리하는 것을 가장 중요한 목표로 설정했습니다.


MVVM을 선택한 이유

결과적으로 View“어떻게 보여줄지” 에만 집중하고,

ViewModel“어떤 상태를 만들지” 를 책임하도록 설계했습니다.


Repository 패턴을 함께 사용한 이유


UseCase를 사용하지 않은 이유

Clean Architecture 관점에서 UseCase 레이어의 필요성도 충분히 인지하고 있었지만,

이번 과제에서는 의도적으로 UseCase 레이어를 두지 않았습니다.

이번 과제의 비즈니스 로직은 비교적 복잡한 규칙을 가지는 경우가 많지 않다고 판단했으며,

이러한 상황에서 UseCase를 추가하는 것은 오히려 다음과 같은 문제를 야기할 수 있다고 생각했습니다.