작성
·
319
답변 1
0
안녕하세요!
다양한 방법이 있습니다.
이 강의에서는 OOP를 이용한 코드 일반화의 한가지 방법을 알려주는 것 뿐입니다.
결국 서버의 요구사항마다 다릅니다.
일반화된 코드를 실행할때 어떤 부분에서 '필터' 관련 로직을 어디에 작성해야하는지 먼저 판다해야합니다.
그럼 해당 위치에서 특정 값이 존재한다는 '가정'을 해주는 코드를 작성하시면 됩니다.
예를들어서 Query를 이용할 계획이라면 Query 모델에 extraField: Map<String, dynamic> 형식으로 추가 필드를 받을 수 있습니다.
또는 retrofit이 결국 toJson을 실행하는 속성을 이용해서 Query 관련 모델이 toJson이 정의된 interface를 implement하게 할수도 있습니다.
이외에도 여러가지 창의적인 방법이 충분히 존재 할 수 있습니다.
감사합니다!
중급 강의 구조에서는 그런 방법이 일반적으로 맞다고 볼 수 있습니다. 기존 데이터를 기억 해둬봤자 크게 유용하지 않습니다. 만약 기억해두고싶다면 필터별로 family를 만들수도 있겠습니다.
제 옅은 지식으로 인한 부족한 질문에 대한 답변 감사합니다.
추가로 궁금한 것이 서버에서 카테고리에 맞는 데이터를 보내주게되면 강의에서 나온 일반화된 PaginationProvider를 사용하여 기존전체 데이터를 지우고 카테고리 데이터를 넣고 다시 전체 데이터를 요청하면 카테고리 데이터를 지우고 state에 전체데이터를 넣어주고 이러한 방법도 괜찮을까요??