A Singleton should be inheritable or They should not be ?
According to Gof "when the sole instance should be extensible by subclassing, and clients
should be able to use an extended instance without modifying their code."
but then why do i see Sealed and Private constructor examples on MSDN
In my projects, I use an Ambient Context implementation from Mark Seemanns book Dependency Injection in .NET. The main point of use of that pattern is that always when you are asking for Current instance, there has to be something and also Context can be switched by other implementation.
F.E.
And concrete implementation of context should be like: