do
Typesafe dependency injection for Go
Separation of concerns
DO was designed from the ground up to increase modularity by making things less connected and dependent.
Application lifecycle
DO provides an API to check health of the active services and to unload gracefuly an application with the reverse dependency order.
Easy debugging
Debugging IoC can be painful. DO offers an API to describe application layout easily, and visualize a service with all its dependency tree.