Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Singleton - nie singleton
Hacker
post 30.10.2006, 20:44:06
Post #1





Grupa: Zarejestrowani
Postów: 225
Pomógł: 0
Dołączył: 1.11.2005

Ostrzeżenie: (0%)
-----


W swojej aplikacji (Frameworku - w nawiasie bo nie wiem czy to "coś" można nazwać frameworkiem) w klasie odpoowiedzialnej za reprezentacje wiersza z bazy danych za poocą obiektu chcę zastosować coś na kształt singletonu tylko, że przyjmującego 1 parametr $id. Jest to id wiersza w bazie danych (moja klasa wymaga klucza głównego), w zależności od tego czy dany wiersz podczas tego wywołania został już pobrany lub tylko stworzony obiekt zwraca stworzony już obiekt, w przeciwnym wypadku wywołuje prywatny konstruktor i zwraca nowy obiekt.
Czy takie coś jest poprawne? Czy jest to dobre? Czy ktoś to już stosuje? (jeżeli okaże się, że jest to dobre i poprawne, a nikt na to wcześniej nie wpadł to lecę to opatętować... biggrin.gif)
Jak zrealizować dziedziczenie? W każdej klasie dziedziczącej zmieniać funkcje get instance? (Klasa po której dziedziczą jest abstrakcyjna, a dziedziczące klasy reprezentują poszczególne tabele)
Jeżeli nie nadaje się to do pro proszę o przeniesienie, jeżeli już było to proszę o link i skasowanie (szukałem, ale nie znalazłem)

Ten post edytował Hacker 30.10.2006, 20:47:04


--------------------
(\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him...
(> <)...on his way to world domination
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post 30.10.2006, 21:01:38
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Cytat
w zależności od tego czy dany wiersz podczas tego wywołania został już pobrany lub tylko stworzony obiekt zwraca stworzony już obiekt, w przeciwnym wypadku wywołuje prywatny konstruktor i zwraca nowy obiekt.

Masz do tego inne wzorce: Unit of Work, ktory zajmuje sie pamietaniem ktore rekordy byly wczytane, ktore sa zmienione i na koniec sesji (nie myslic z Sesjami) zapisuje je w bazie, usuwa itd.
Do tego Identity Map ktora przechowuje juz wczytane wiersze. Przy wyciaganiu rekordu -- przez UoW sprawdza on dostepnosc rekordu w IM i gdy go nie ma to wykonuje zapytanie do bazy.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 16:39