Cytat
Jak dla mnie to po prostu ciekawe zastosowanie kolekcji
Można na to patrzyć zróżnych stron ale należy pamiętać, że w kolekcjach chodzi o PRZECHOWYWANIE obiektów w jakiś tam inteligentny sposób. Np. kolekcja która nie pozwoli na 2 identyczne elementy, albo kolekcja która nie wpuści elementu o typach innych niż te dozwolone.
Kontenery IoC nie mają z takim zachowaniem nic wspólnego.
W kontenerach chodzi o to aby wprowadzić do systemu kolejną wyraźnie odseparowaną warstwę abstrakcji do której przenosimy inicjalizację obiektów.
@Crozin
Wracając do tego co napisałeś wcześniej:
Cytat
A żeby nie było: celem tego wzorca jest zapewnienie dokładnie jednej instancji danej klasy, a nie globalny dostęp do obiektu - od tego jest global.
Zgadzam się z pierwszą częścią i może Cię źle rozumiem jeżeli tak to mnie popraw, ale mam wrażenie, że uważasz, że wprowadzanie globalności przy pomocy singletonu jest złe a korzystanie z niej przy pomocy global jest ok. A przecież nie chodzi o to że wprowadzanie globalności przez singleton jest złe, chodzi o to że sama globalność jest zła niezależnie od tego czy wprowadzana poprzez singleton czy przez global.
Wracając do globalności kontenera.
Wyobraźmy sobie że mamy globalny kontener mający w sobie referencje do wszystkich już zainicjalizowanych w systemie obiektow. Teraz chcemy zainicjalizować z niego nowy obiekt, który miał by być utworzony z referencjami do obieków które kontener już posiada. Ale nie jakichś tam obiektów tylko konkrtnych obiektów tak jak to zwykle bywa w programach

. I co się okazuje, i tak musimy powiedzieć kontenerowi wyraźnie których konkretnie z obiektów ma użyć do inicjalizacji nowego obiektu.
A w jaki sposób możemy mu to powiedzieć?
Dostarczając referencję do tych obiektów. Mam rację?
A skoro musimy dostarczać tych referencji w momencie inicjalizacji nowego obiektu, to równie dobrze możemy tworzyć sobie nową instancje kontenera zamiast korzystać z jednej globalnej. Globalność kontenra może się przydać w pewnych sytuacjach ale w innych jak wyżej opisywana nie jest przydatna.