Я пытаюсь провести рефакторинг моего приложения погоды Flutter.
В конечном итоге оно вызывает API для предоставления данных о погоде, основанных на местоположении в качестве параметра.
В настоящее время у меня есть:
- WeatherJSONModel.dart, который соответствует ответу JSON, предоставленному API, который я использую.
- Файлы WeatherAPI.dart, которые управляют вызовом API с параметрами и анализируют JSON ответ на вышеуказанную модель.
- WeatherModel.dart, который является моделью для данных, отображаемых приложением.
- WeatherProvider (расширяет ChangeNotifier), который преобразует WeatherJSONModel, возвращенную Затем API для WeatherModel стал доступен для приложения.
Я очень сомневаюсь, что это самый эффективный способ сделать это, но не могу найти, как правильно реализовать мои вызовы.
Должно ли быть больше APICallClass в ResponseHandlerClass в ProviderClass?
Спасибо!
TLDR; Как реализовать вызовы API и синтаксический анализ JSON, следуя SOLID принципам?