Nehmen wir an, wir haben eine sehr einfache IConfiguration Schnittstelle, die verantwortlich fürIoC-Container-Zuordnungen: Singleton vs jeder Anruf Schaffung
interface IConfiguration
{
string ConnectionString {get;}
}
eine richtige Verbindungszeichenfolge zurückkehrt und lässt nur eine Instanz des Typs annehmen, die eine solche Schnittstelle implementiert kann verwendet werden (weil es nur einen String zurückgibt, einen Zustand nicht verwaltet usw.)
Es gibt also mindestens zwei Möglichkeiten, wie die Schnittstelle in einem Container registriert werden kann: wie üblich - jedes neue Objekt Typ anforderend oder als Singleton - ein Objekt für alle Typanfragen. Gibt es Unterschiede zwischen den Ansätzen (vielleicht aus Gründen der Performance, Lebensdauer-Management-Tricks etc.)
container.For<IConfiguration>().Use<ConfigurationImpl>();
vs
container.For<IConfiguration>().Singleton().Use<ConfigurationImpl>();