-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
해결됨
repository 를 거쳐서 Api 를 가져오는 이유
23.02.17 00:02 작성 조회수 307
0
SelectViewModel 에서 Api를 바로 호출하지 않고
repository 거쳐서 가는게 관리하기 편해서라고 하셨는데
이해가 잘 가지 않아서요..
바로 호출하면 어떤 불편한 점이 있나요?
답변을 작성해보세요.
0
개복치개발자
지식공유자2023.02.17
안녕하세요
좋은 질문이네요! 저도 처음에 의문을 품었던 것입니다.
예를 들어보겠습니다.
코인 데이터를 가져와서 api호출해서 가공하는 coinEditingFunction이 있다고 가정해보겠습니다.
그럼
A-viewModel 에서 coinEditingFunction 를 선언해서 localDB 에 저장하고
B-viewModel 에서 coinEditingFunction 를 선언해서 foreground service에 보여준다고 가정하면
이 coinEditingFunction 가 중복으로 선언됩니다.
때문에, 이런 과정을 한곳에 몰아넣기 위해 repository에서 처리하도록 한 것입니다.
지금은 A / B ViewModel 2개 밖에 없지만 실무에서는 이런 상황에 너무 복잡하고 어렵게 꼬이기 때문에 한곳에 만들어놓고 관리한는 것입니다.
coinEditingFunction 이 변경되어도 어디에서 선언되었는지 모두 변경해줄 필요가 없이 한곳만 변경하면 되니깐요!
이와 관련해서 클린아키텍처로 가면 useCase 으로 분류(layer)를 나눠서 사용하기도 합니다.
추가적인 질문 있다면 더 문의주세요~
답변 1