The CloudFile interfaces frees your application from direct dependency on any one cloud-based blob or object storage system.
Blob or object stores like Amazon's S3 or Azure Blob Storage have specific implementation details that don't necessarily belong in a well architected line-of-business application.
For a more stable line-of-business code implementation, and to maintain platform flexibility, specific implementation details for blob or object storage should be wrapped up in a package and injected into line-of-business code implementations through package management and DI (Dependency Injection) .
These interfaces are implemented in the TECHIS.CloudFile.AzureStorage package for Azure and the TECHIS.CloudFile.AwsS3 package for Amazon's AWS.
CloudFile is made up of 3 interfaces
These interfaces also have associated factory interfaces