Correct abstraction–.NET Core IFileProvider

Create the right abstraction and they will implement it. I was delighted by finding that the .NET Core has an IFileProvider :  .

An obvious implementation is PhysicalFileProvider : 

A not so obvious implementation, but normal from a programmers mind, is NullFileProvider: 

And, because we have already 2 providers, makes sense a CompositeFileProvider:

And because we create assemblies, it is normal to have EmbeddedFileProvider:

And , to complicate things, a ManifestEmbeddedFileProvider:

( You can read more details here:

But this is just what Microsoft provides in .NET Framework.

Other creates more, such as :




More Cloud Providers :

ZipFileProviders: , 


It is interesting how you can find various implementation of an so common thing, like a file / folder. But it is also rewarding to see that you have created the right abstractions – and other will implement !