模块商店小部件屏幕 Flutter 架构项目启动器。

访问 示例项目 获取示例

主要抽象

五种主要的抽象类型。

模块

函数式的模块,由抽象类的静态成员表示。它们旨在包含所有业务逻辑功能,并且易于在隔离区内使用。它们具有最大的引用透明度,并且其副作用不会修改状态,而是限制在数据库修改、终端输出、POST 请求等方面。

Providers

类似于模块,但提供静态全局数据而不是函数:小部件实例、UI 常量、资源或填充的数据模型。它们在所有其他抽象类型中使用。

服务

常见的有状态服务,通过注册在 Arctium 中的类来表示,它们使用模块并操作数据。它们包含公共的 ValueNotifier getter,并使用 value_extensions 提供派生状态。

屏幕

屏幕的主要小部件,通过 Arctium 的 Injector 小部件表示。它们将屏幕服务的生命周期与其自身的生命周期绑定,并将其实例向下传递到 Widget 树。它们不包含内部状态。

小部件

不可变且无状态的小部件,反映了服务的状态。它们通过 StatelessWidget / Arctium 的 LocatorWidget 来表示,并包含对服务状态字段的绑定。

图表

chart

GitHub

https://github.com/purplenoodlesoop/msws_starter