dime_flutter 0.3.1 dime_flutter: ^0.3.1 copied to clipboard
Flutter support for Dime dependency injection. Will provide scoped widgets and helping methods to use Dime with in Flutter codebase.
Dime Flutter package #
Bringing Dime dependency injection to Flutter with usable helper methods and Widgets.
Getting Started #
Take a look at Dime package for BaseModules and definitions.
Use DimeScopeFlutter
to wrap child widget with Dime Scope and provide list of modules for that scope.
Root Scope modules are always fallback to.
Use DimeFlutter.scopeOf(...)
as inherit widget to fetch DimeScope
to get instances you need down the tree.
Dime Scope fetch up the tree examples: #
Test class to be referenced by main scope_test.dart tests.
Modules:
Module | Instance |
---|---|
ModuleA | AA() |
AB() | |
AC() | |
ModuleB | BA() |
BB() | |
BC() | |
ModuleC | CA() |
CB() | |
CC() | |
ModuleXX | AA() |
BB() | |
CC() |
Scope graph:
Root Scope | Modules/Scopes | Modules/Scopes | Modules/Scopes |
---|---|---|---|
Dime | - ModuleC | ||
- ModuleXX (override) | |||
- scope1 | - ModuleA | ||
- ModuleB | |||
- scope2 | - ModuleA | ||
- ModuleC | |||
- scope 21 | - ModuleC | ||
- scope 22 | - ModuleA | ||
- ModuleB |
Example injections:
scope2.inject
Dime.inject
scope1.inject
scope1.inject
scope2.inject
scope2.inject
Dime.inject
Dime.inject
Dime.inject
scope21.inject
scope21.inject
scope22.inject
scope22.inject
scope21.inject