refactor: simplify DIAdapter interface with a single registration callback; update benchmarks and cherrypick adapter accordingly

This commit is contained in:
Sergey Penkovsky
2025-08-07 08:28:23 +03:00
parent b72dec9944
commit d523a5f261
4 changed files with 67 additions and 76 deletions

View File

@@ -18,14 +18,16 @@ class UniversalChainAsyncBenchmark extends AsyncBenchmarkBase {
@override
Future<void> setup() async {
di.setupModules([
UniversalChainModule(
chainCount: chainCount,
nestingDepth: nestingDepth,
bindingMode: mode,
scenario: UniversalScenario.asyncChain,
)
]);
di.setupDependencies((scope) {
scope.installModules([
UniversalChainModule(
chainCount: chainCount,
nestingDepth: nestingDepth,
bindingMode: mode,
scenario: UniversalScenario.asyncChain,
),
]);
});
}
@override

View File

@@ -23,33 +23,39 @@ class UniversalChainBenchmark extends BenchmarkBase {
void setup() {
switch (scenario) {
case UniversalScenario.override:
_di.setupModules([
UniversalChainModule(
chainCount: chainCount,
nestingDepth: nestingDepth,
bindingMode: UniversalBindingMode.singletonStrategy,
scenario: UniversalScenario.register,
)
]);
_di.setupDependencies((scope) {
scope.installModules([
UniversalChainModule(
chainCount: chainCount,
nestingDepth: nestingDepth,
bindingMode: UniversalBindingMode.singletonStrategy,
scenario: UniversalScenario.register,
),
]);
});
_childDi = _di.openSubScope('child');
_childDi!.setupModules([
UniversalChainModule(
chainCount: chainCount,
nestingDepth: nestingDepth,
bindingMode: UniversalBindingMode.singletonStrategy,
scenario: UniversalScenario.register,
)
]);
_childDi!.setupDependencies((scope) {
scope.installModules([
UniversalChainModule(
chainCount: chainCount,
nestingDepth: nestingDepth,
bindingMode: UniversalBindingMode.singletonStrategy,
scenario: UniversalScenario.register,
),
]);
});
break;
default:
_di.setupModules([
UniversalChainModule(
chainCount: chainCount,
nestingDepth: nestingDepth,
bindingMode: mode,
scenario: scenario,
)
]);
_di.setupDependencies((scope) {
scope.installModules([
UniversalChainModule(
chainCount: chainCount,
nestingDepth: nestingDepth,
bindingMode: mode,
scenario: scenario,
),
]);
});
break;
}
}