![]() |
![]() ![]() |
![]() |
![]()
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ć... ![]() 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 |
|
|
![]()
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.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hmmm... ciekawe, czyli coś takiego jak chcę zastosować nie jest dobre i muszę stosować trzy klasy do tego jakoś je połączyć??
-------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
http://www.martinfowler.com/eaaCatalog/unitOfWork.html
http://www.martinfowler.com/eaaCatalog/identityMap.html i inne wzorce http://www.martinfowler.com/eaaCatalog/, dokladnie sa opisane w jego ksiazce PoEEA zajrzyj do http://phpdoctrine.com -- wlasciwie maja to juz zrobione, po co pisac od nowa -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat wlasciwie maja to juz zrobione, po co pisac od nowa po to aby zdobyć nowe umiejętności, stawać się lepszym, rozumieć jak to działa i jakie ma ograniczenia, a nie tylko wziąść gotowe {edit} prosił bym o dyskusje czy to poprawne i jakieś do tego za - przeciw... Ten post edytował Hacker 30.10.2006, 22:55:12 -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat (jeżeli okaże się, że jest to dobre i poprawne, a nikt na to wcześniej nie wpadł to lecę to opatętować... Ta opatentuj singletona ale szybko, bo ktoś to zrobi... ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.06.2024 - 03:54 |