![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Witam, napisałem klasę własnego mechanizmu sesji, zastanowiło mnie, czy nie zrobić z niej singletonu, jednakże jedyny plus (którego zresztą pewien nie jestem) miałby być taki, że byłoby to bardziej wydajne dla parsera. Moje pytanie brzmi: czy singleton (jako, że tworzona jest tylko jedna instancja) zajmuje mniej pamięci, whatever, niż tworzenie kolejnych instancji?
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tak, jeden obiekt zajmuje mniej miejsca w pamięci niż "n" obiektów - chyba to jest wystarczająco logiczne (IMG:style_emoticons/default/winksmiley.jpg) Jednakże wprowadzenie singletona w celu poprawieniu wydajności wcale nie jest tak oczywiste, jeśli tworzysz umiarkowaną liczbę obiektów (zależy od wielkości klasy jaka to będzie liczba) różnice będą niewielkie. Singletona powinno się unikać, wprowadzać tam gdzie faktycznie będzie z niego więcej korzyści, niż kłopotów.
"wydajniejszy dla parsera" - singleton tutaj nie ma nic do rzeczy, wydajniejsze dla parsera może być przykładowo używanie pojedynczych apostrofów, a nie cudzysłowów do prezentacji tekstu, a nie singleton (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował -=Peter=- 11.07.2010, 19:28:04 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Jak wspomniałem, chodzi o klasę sesji a strona jest całkowicie pisana obiektowo, więc tych instancji będzie parę (IMG:style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej utworzyć jeden obiekt sesji i wstrzykiwać go tam gdzie jest potrzebny?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Własnie to jest to pytanie, które zadalem w pierwszym poście (IMG:style_emoticons/default/smile.gif) Co będzie ogólnie lepsze w takim przypadku, singleton czy robienie kolejnych instancji.
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Kolega odpisał. Jedna instancja przekazywana tam gdzie trzeba.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 08:33 |