November 2017
Intermediate to advanced
670 pages
17h 35m
English
In order for the dependency injection to work, our application must have compatible interfaces, for example, FileExists(fileName string) (fileExists bool, err error) in domain.go and gcphandler.go.
The line return interactor.SourceBucketRepository.FileExists(fileName) is delegating the FileExists behavior to the interface, which is implemented by gcphandler.go and then injected into the interactor. Below, we define our interface for our BucketRepository:
// domain/domain.gotype BucketRepository interface { List(projectId string) (buckets []Bucket, err error) FileExists(fileName string) (fileExists bool, err error) DownloadFile(fileName string) (success bool, err error) UploadFile(fileName string) (success bool, err ...
Read now
Unlock full access