본문 바로가기
TIL

[TIL] 영화 정보 앱 구현 - 클린 아키텍처

by chengzior 2025. 1. 2.

 

전에 구현했던 앱들은 페이지 별로 repository, view model, page 를 구현해서 크게 신경 쓸 게 없었는데

클린 아키텍처는 구조가 presentation, domain, data로 나누어져 있어서 생각보다 복잡했다.

가장 헷갈렸던 부분은 repository와 view model 구현하는 것..
도대체 어느 repository인지 어디의 메서드를 호출해야 하는 건지 감이 잡히지 않았다. 

그래서 다시 한 번 정리해보기로.

  • presentation: ui
    • pages
    • widgets
    • providers: 뷰모델에서 직접 객체 생성하지 않을 수 있게 use case 공급해줌
  • domain: 실제적인 기능 구현
    • repository : impl에 선언되어 있는 메서드 고대로 ...
    • entity : 각 페이지에서 필요한 속성 값 정의
    • usecase : 기능..?
  • data: api에서 정보 가져오기
    • data source: http와 연결
    • repository(impl): 값 받아와서 맵핑하여 리스트로 반환
    • dto : api 연결하여 받아올 값 객체로 정의

https://quicktype.io/dart

json 객체를 dart object로 만들어주는 사이트👍