작성
·
378
0
안녕하세요 선생님!!
14강좌 클린아키텍처 강의를 듣다가 궁금한점이 생겨 질문드립니다!
pixabay_api.dart에서
fetch함수는
Futurue<Iterable> 타입을 반환하는데,
phto_api_repository.dart 파일의
abstract 클래스의 fetch와
이를 오버라이드하는
PhotoApiRepositoryImpl클래스의
fetch는 Future<List<photo>>타입을 반환하고 있습니다.
같은 fetch함수인데
왜 pixabay_api.dart의
fetch함수는 Future<List<photo>>타입을 반환시키지않고
Future<Iterable> 타입을 반환시킨 이유가
궁금합니다!!!
답변 1
0
List<Photo> 로 바로 변환하게 된다면 지금 Photo 에 정의한 id, tags, previewURL 값만 활용이 가능합니다.
따라서 PixabayApi 를 좀 더 범용적으로 사용할 수 있도록 기본 Iterable 타입을 돌려주도록 하였다고 보시면 될 것 같습니다.
Repository가 필요한 내용을 적절한 모델에 담아서 활용할 수 있도록 유연성을 제공하였습니다.
이렇게 하면 PixabayApi 재활용성이 좋아지고 PixabayApi 클래스와 Photo 클래스간의 의존성도 없어집니다.