![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 6.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio opanowałem ten wzorzec i napisałem w nim jedną klasę obslugi bazy danych. Bardzo podoba mi się idea singletona i chyba można by ją stosować dużo częsciej ale kiedy tak naprawde wg was singletona powinno się używać a kiedy nie? Największą zaletą jest napewno oszczędność zasobów ale jakie są wady? (napewno jakieś muszą być).
PS. W tej chwili pisze mapper czy modelator (zwał, jak zwał...) klase ktora w całym projekcie będzie mi sprawdzała poprawność napływających z zewnątrz danych. Napewno w konstruktorze będzie zładowanie mapy z pliku - przeczytanie całego pliku - mapy wszystkich zmiennych może zająć troche czasu. Gdybym zrelizował ta klase jako singleton wczytywałbym mape tylko raz.... Ten post edytował Beynar 22.12.2007, 19:05:43 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 6.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
No tak.... zapomniałem. Przeciesz w singletonie glownie chodzi o globalny dostep do jednej instancji.
Zatem wniosek, ze nalezaloby z niego korzystac kiedy chcemy miec jakis obiekt globalny z ktorego bedziemy korzystac w calym projekcie? Taki jakby obiekt publiczny - globalny. Czy sa jakies zagrozenia zwiazne z korzystaniem z singletona? Mi sie wydaje ze mam conajmniej jedno: kiedy programista korzysta z obiektu singletona i dalje w kodzie wywola jakas funkcje czy inny obiekt ktory w srodku korzysta z tegoż wczesniej uzwyanego singletona to zostanie on w sordku np. nadpisany innymi danymi. Programista pisze dalej w glownym skrypcie, po wywolaniu jakies metody mysli ze jego obiekt ma wczesniejsze wlasciwosci, z kilku linijek wyzej... jednak linijke wyzej wywolal obiekt ktory zmienil stan singletona. Wtedy mamy zamieszanie.... Ten post edytował Beynar 24.12.2007, 10:46:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 04:38 |