天气应用
这是我使用WeatherAPI的应用程序截图 https://openweathermap.org/appid
我为此应用程序使用了包含2层的干净架构
应用架构
数据层
数据层包含一个单一的天气存储库,用于从OpenWeatherMap API获取天气数据。
然后,数据被解析(使用Freezed)并使用类型安全的实体类(天气和预报)返回。
表示层
此层包含所有小部件及其控制器。
小部件不直接与存储库通信。
相反,它们监视一些扩展StateNotifier类的控制器(使用Riverpod)。
这使得可以将上方层的数据映射到AsyncValue对象,这些对象可以映射到适当的UI状态(数据、加载、错误)。
支持的功能
1- 当前天气(状况和温度) 2- 5天天气预报 3- 按城市搜索
