Having an API is great when you want to make your code more testable, make sure you have an agreement on what the data delivery interface looks like between parts of your application and when you want your application to be robust against
changing underlying mechanisms. But how do you access the instances that make up the API?
good way to do so is through the use of factories - (Factory method pattern
). There is no obligation to use these factory APIs and you do not have to use them in order to use the rest
of the API.
Another challenge is how to access the factories if they are just APIs? Do we need a factory to create Factoreis - a
To solve this later issue
Dependency Injection (DI)
is a useful approach. But this is not a tutorial on patterns. We just wanted to mention our thinking and why we went this way with Factory APIs.
We have factory APIs to access any level of Cloud Storage.