Clean Architecture + MVVM 이해한 대로만 정리

Doogie·2023년 2월 7일
0
post-thumbnail

이 그림을 이해하기까지 한참이 걸렸다(어쩌면 노력을 안했을 수도...?)

[클린 아키텍쳐에 대해 개인적으로 다시 정리]

그러던 중 두 개의 블로그(1번, 2번)와 주변 지인분들께 물어보며 이해를 차츰 하기 시작했고 이해한 대로 나름 정리를 한 것이 아래 그림이다

(각 명칭에 대한 설명은 다른 블로그에도 더 잘 정리가 되어있어 따로 정리 하지 않았으며 내 생각에 대해 정리하게 되었다)

[의문점]

형태와 용도 그리고 그 의도에 대해서는 어느정도 파악이 됐다고 생각을 했는데 애매한 부분이 몇 가지 있었다

한 가지 예를 들자면
UserDefaults에 어떤 특정 값이 있나 없나를 파악해야할 때 UserDefaults를 local db로 보고 있는지 없는지를 확인 하는 아주 단순한 작업을 하기 위해

  • viewmodel -> usecase -> repository(여기서 userdefaults확인 해 있는지 없는지 확인) -> usecase -> viewmodel

위와 같은 로직을 통해야 할지

아니면

  • userdefaults가 편하게 싱글톤으로 쓸 수 있으니까 그냥 컨디션 체크용으로 뷰 모델에서 있는지 없는지 확인 할지에 대한 문제 였는데

위와 같은 상황에서는 후자의 방법을 채택하기로 했다

그 이유는 개발은 언제나 효율성을 따져봐야 한다고 생각하는데
형태를 지키자니 너무 비효율적이게 되고, 효율만 따지다 보면 원래 형태, 의도에 어긋나게 되는 상황이 발생하게 되는 경우가 더러 있다

이런 경우에 너무 비효율 적인 상황이 연출이 된다면 효율을 선택하는게 더 좋은 방향이 아닐까...? 하는 개인적인 생각이 들었기 때문이다
(물론 너무 비효율 적이라는 상황에 대한 정의가 필요하긴 할듯...!)

profile
끊임없이 문을 여는 개발자

0개의 댓글