docs: update architecture diagram in README to show adapter-centric universalRegistration pattern

This commit is contained in:
Sergey Penkovsky
2025-08-07 14:37:34 +03:00
parent 75db42428c
commit e1371f7038
2 changed files with 28 additions and 28 deletions

View File

@@ -189,27 +189,29 @@ classDiagram
class BenchmarkCliRunner {
+run(args)
}
class UniversalChainBenchmark {
class UniversalChainBenchmark~TContainer~ {
+setup()
+run()
+teardown()
}
class UniversalChainAsyncBenchmark {
class UniversalChainAsyncBenchmark~TContainer~ {
+setup()
+run()
+teardown()
}
class DIAdapter {
class DIAdapter~TContainer~ {
<<interface>>
+setupDependencies(cb)
+resolve<T>(named)
+resolveAsync<T>(named)
+resolve~T~(named)
+resolveAsync~T~(named)
+teardown()
+openSubScope(name)
+waitForAsyncReady()
+universalRegistration<S extends Enum>(...)
}
class CherrypickDIAdapter
class GetItAdapter
class RiverpodAdapter
class UniversalChainModule {
+builder(scope)
+chainCount
@@ -225,9 +227,6 @@ classDiagram
class UniversalServiceImpl {
+UniversalServiceImpl(value, dependency)
}
class di_universal_registration {
+getUniversalRegistration(adapter, ...)
}
class Scope
class UniversalScenario
class UniversalBindingMode
@@ -242,9 +241,11 @@ classDiagram
DIAdapter <|.. CherrypickDIAdapter
DIAdapter <|.. GetItAdapter
DIAdapter <|.. RiverpodAdapter
CherrypickDIAdapter ..> Scope
GetItAdapter ..> GetIt: "uses GetIt"
RiverpodAdapter ..> Map~String, ProviderBase~: "uses Provider registry"
DIAdapter o--> UniversalChainModule : setupDependencies
@@ -255,11 +256,10 @@ classDiagram
UniversalService <|.. UniversalServiceImpl
UniversalServiceImpl --> UniversalService : dependency
BenchmarkCliRunner ..> di_universal_registration : uses
di_universal_registration ..> DIAdapter
UniversalChainBenchmark ..> di_universal_registration : uses registrar
UniversalChainAsyncBenchmark ..> di_universal_registration : uses registrar
%%
%% Each concrete adapter implements universalRegistration<S extends Enum>
%% You can add new scenario enums for custom adapters
%% Extensibility is achieved via adapter logic, not global functions
```
---

View File

@@ -140,27 +140,29 @@ classDiagram
class BenchmarkCliRunner {
+run(args)
}
class UniversalChainBenchmark {
class UniversalChainBenchmark~TContainer~ {
+setup()
+run()
+teardown()
}
class UniversalChainAsyncBenchmark {
class UniversalChainAsyncBenchmark~TContainer~ {
+setup()
+run()
+teardown()
}
class DIAdapter {
class DIAdapter~TContainer~ {
<<interface>>
+setupDependencies(cb)
+resolve<T>(named)
+resolveAsync<T>(named)
+resolve~T~(named)
+resolveAsync~T~(named)
+teardown()
+openSubScope(name)
+waitForAsyncReady()
+universalRegistration<S extends Enum>(...)
}
class CherrypickDIAdapter
class GetItAdapter
class RiverpodAdapter
class UniversalChainModule {
+builder(scope)
+chainCount
@@ -176,9 +178,6 @@ classDiagram
class UniversalServiceImpl {
+UniversalServiceImpl(value, dependency)
}
class di_universal_registration {
+getUniversalRegistration(adapter, ...)
}
class Scope
class UniversalScenario
class UniversalBindingMode
@@ -193,9 +192,11 @@ classDiagram
DIAdapter <|.. CherrypickDIAdapter
DIAdapter <|.. GetItAdapter
DIAdapter <|.. RiverpodAdapter
CherrypickDIAdapter ..> Scope
GetItAdapter ..> GetIt: "uses GetIt"
RiverpodAdapter ..> Map~String, ProviderBase~: "uses Provider registry"
DIAdapter o--> UniversalChainModule : setupDependencies
@@ -206,11 +207,10 @@ classDiagram
UniversalService <|.. UniversalServiceImpl
UniversalServiceImpl --> UniversalService : dependency
BenchmarkCliRunner ..> di_universal_registration : uses
di_universal_registration ..> DIAdapter
UniversalChainBenchmark ..> di_universal_registration : uses registrar
UniversalChainAsyncBenchmark ..> di_universal_registration : uses registrar
%%
%% Each concrete adapter implements universalRegistration<S extends Enum>
%% You can add new scenario enums for custom adapters
%% Extensibility is achieved via adapter logic, not global functions
```
---