How fgm/izidic works
IziDIC is a small Go dependency-injection container: an application builds a container, stores parameters and service definitions, freezes it, then retrieves parameters or lazily created service instances. Services can resolve their own dependencies through the container; instances are reused, and circular service dependencies are rejected. The README also documents a typed application facade and a Resolve-style setup, with a complete demo. Runtime behavior is concentrated in izidic.go; the example implementation files are present in the tree but were not sampled.
Main entry points: izidic.go Service Resolver · app.go Typed Facade · di.go Resolve Setup · demo.go Complete Demo
Components 8
Other components
- Application
- Container
izidic.go - Parameter Store
izidic.go - Service Registry
izidic.go - Service Resolver
izidic.go - Typed Facade
examples/di/app.go - Resolve Setup
examples/di/di.go - Complete Demo
examples/demo.go
Connections 15
- Application → Container: creates
README.md - Application → Parameter Store: stores parameters
README.md - Application → Service Registry: registers services
README.md - Application → Container: freezes
README.md - Application → Parameter Store: reads parameters
README.md - Application → Service Resolver: requests services
README.md - Container → Parameter Store: holds parameters
izidic.go - Container → Service Registry: holds definitions
izidic.go - Service Registry → Service Resolver: provides definitions
izidic.go - Service Resolver → Service Resolver: resolves dependencies
izidic.go - Service Resolver → Service Resolver: caches instances
izidic.go - Resolve Setup → Container: builds and freezes
README.md - Typed Facade → Service Resolver: accesses services
README.md - Typed Facade → Parameter Store: accesses parameters
README.md - Complete Demo → Resolve Setup: demonstrates setup
README.md