Zpo-13-wyk-Slajd32
Styl życia komponentu
Poza cyklem życia komponentu, opisującym graf jego stanów od momentu utworzenia do momentu usunięcia, komponenty mogą mieć swój styl życia. Pod tym pojęciem kryją się dodatkowe czynniki wpływające na sposób i moment tworzenia instancji komponentu.
Większość kontenerów pozwala na tworzenie komponentów-referencji (podobnych do obiektów-referencji), których jedyna instancja (singleton) jest współdzielona przez wszystkich żądających do niej dostępu klientów, oraz komponentów-wartości (również mających swój obiektowy odpowiednik), których instancje są tworzone w odpowiedzi na każde żądanie. Wybór stylu życia komponentu zależy utrzymywania przez niego stanu, współbieżnej obsługi żądań, żądanej wydajności etc.
Drugim ważnym czynnikiem określającym styl życia komponentu jest możliwość określenia momentu jego utworzenia. Komponenty są tworzone przez kontener w momencie uruchomienia, czyli zanim nastąpi potrzeba ich użycia (jest to tzw. chciwa inicjacja, ang. eager initialization ), albo dopiero w momencie gdy są potrzebne (to tzw. leniwa inicjacja, ang. lazy initialization ). Wybór – podobnie jak w poprzednim przypadku – jest podyktowany względami wydajnościowymi.