Как реализовать вызов API, связанный с провайдером, используя принципы SOLID в приложении Flutter? - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь провести рефакторинг моего приложения погоды Flutter.

В конечном итоге оно вызывает API для предоставления данных о погоде, основанных на местоположении в качестве параметра.

В настоящее время у меня есть:

  • WeatherJSONModel.dart, который соответствует ответу JSON, предоставленному API, который я использую.
  • Файлы WeatherAPI.dart, которые управляют вызовом API с параметрами и анализируют JSON ответ на вышеуказанную модель.
  • WeatherModel.dart, который является моделью для данных, отображаемых приложением.
  • WeatherProvider (расширяет ChangeNotifier), который преобразует WeatherJSONModel, возвращенную Затем API для WeatherModel стал доступен для приложения.

Я очень сомневаюсь, что это самый эффективный способ сделать это, но не могу найти, как правильно реализовать мои вызовы.

Должно ли быть больше APICallClass в ResponseHandlerClass в ProviderClass?

Спасибо!

TLDR; Как реализовать вызовы API и синтаксический анализ JSON, следуя SOLID принципам?

1 Ответ

1 голос
/ 21 января 2020

Один из лучших уроков по этому топи c в трепетании (на мой взгляд) можно найти здесь:

https://github.com/ResoCoder/flutter-tdd-clean-architecture-course

Есть также письменная серия и 7 часов Учебник YouTube этого:

Вот предложение архитектора:

enter image description here

...