November 2017
Intermediate to advanced
670 pages
17h 35m
English
Now, let's go through the main() function:
func main() { gcpi, err := infrastructure.GetGcpInteractor() HandlePanic(errors.Wrap(err, "unable to get gcp interactor")) li, err := infrastructure.GetLocalInteractor() HandlePanic(errors.Wrap(err, "unable to get local interactor")) wsh = WebserviceHandler{} wsh.GcpInteractor = gcpi wsh.LocalInteractor = li
We inject both our interactors into our web service handler, which allows our admin user to manipulate our repositories via our public web service APIs, for example, /list-source-buckets.
Note that DI occurs at object creation time. Contrast DI with parameterized functions or the use of a context--that contains all pertinent information for a single function invocation—that can be ...