Zpo-13-wyk-Slajd36
PicoContainer
PicoContainer jest – jak nazwa wskazuje – miniaturowym systemem zarządzania komponentami. Charakterystyczne jest, że nie posiada on żadnych zewnętrznych zależności (poza JDK 1.3), a objętość pliku JAR z jego kodem nie przekracza 50kb. Pico jest jedynie kontenerem, i nie udostępnia żadnych innych mechanizmów, obecnych m.in. w Springu. Umożliwia wstrzykiwanie zależności przez konstruktor i właściwości, co w większości przypadków jest wystarczającym rozwiązaniem. Z uwagi na niewielki rozmiar nie posiada możliwości konfiguracji zewnętrznej, dlatego wymaga programowgo zgłoszenia komponentów do rejestru. Wspiera podstawowy cykl życia komponentu (składający się metod start ()/ stop () oraz dispose (), implementowanych przez interfejsy), potrafi także tworzyć komponenty jako obiekty-referencje (singletony), wartości (prototypy) oraz hierarchie obiektów.
Wadą tego kontenera jest brak rozróżnienia pomiędzy interfejsem a klasą, co może prowadzić do niechlujnego programowania bez użycia abstrakcyjnych interfejsów.
Projekt jest interesujący z uwagi na stosunek możliwości do rozmiaru, jest jednak niszowym elementem sceny kontenerów IoC.