![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Zaczynam dopiero zdobywać wiedzę o wzorcach projektowych, więc jakby co nie bijcie ![]() W przykładzie z klasą Articles http://www.phppatterns.com/docs/design/the...method#layering trafiłem na adnotację, że metoda z tej klasy ładuje całą zawartość tabeli do tablicy, a tak nie powinno się robić. Cytat Note: the Articles class above fetches the entire contents of a table and places it in a PHP array. In general this is a bad idea - what if you have 10000+ articles? I’m just doing it here to keep the example code simple (i.e. don’t try this at home). Stąd moje pytanie, co autor mógł mieć na myśli? Jest jakiś inny (niż tablice), bardziej wydajny sposób operowania na dużych ilościach danych, który można byłoby zastosować w tym przykładzie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 41 Dołączył: 6.04.2009 Skąd: Gdańsk/okolice Ostrzeżenie: (0%) ![]() ![]() |
autor miał na myśli wczytywanie całej tabeli (prawdopodobnie z jakiejś bazy danych) do tablicy w php, co rzeczywiście na dłuższą metę jest słabym pomysłem
![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Tablica jest prostsza niż obiekt, stąd będzie wydajniejsza.
A już na pewno mniej pamięciożerna. Jeśli rozważana klasa bazuje na setterach/getterach - tablice 100% będą szybsze. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Jeśli dobrze rozumiem, to korzystasz wtedy z ArrayObject.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 24 Dołączył: 18.01.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat tablica numeryczna? nie bardzo - predzej asocjacyjna... Czemu nie? Zawsze myślałeś że jest ona bardziej wydajna (a przypomnę że temat ten dotyczy wydajności a nie wygody) Cytat a jezeli mowimy o tablicy bez metod, z wszystkimi zmiennymi publicznymi? ale jaki ma sens obiekt bez metod? Co uzyskasz wykonując taki zabieg? Ten post edytował Pr0100 16.06.2009, 12:51:41 -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat (a przypomnę że temat ten dotyczy wydajności a nie wygody) OK, ale wtedy masz problemy z poszukiwaniem kluczy dla danych własności. Ostatecznie zostają jeszcze stałe zawierające indeksy numeryczne, ale podejrzewam, że różnice w prędkości będą się mieściły w granicach błędu statystycznego... Cytat ale jaki ma sens obiekt bez metod? Co uzyskasz wykonując taki zabieg? Można spróbować to podciągnąć pod czytelność i chęć pogrupowania wraz ze stałymi, ale czy ja wiem... No i odchodzi problem widzialności - klasa statyczna... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 70 Pomógł: 3 Dołączył: 15.06.2003 Skąd: kosmosu? Ostrzeżenie: (0%) ![]() ![]() |
Zainteresuj się leniwą konkretyzacją, na forum było już kilka tematów
-------------------- Warsztat#1 ::drum and bass:: Apache2.2 :: PHP 5.2 ::
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 96 Pomógł: 7 Dołączył: 24.01.2006 Skąd: lublin/wawa Ostrzeżenie: (0%) ![]() ![]() |
OK, ale wtedy masz problemy z poszukiwaniem kluczy dla danych własności. Ostatecznie zostają jeszcze stałe zawierające indeksy numeryczne, ale podejrzewam, że różnice w prędkości będą się mieściły w granicach błędu statystycznego... Można spróbować to podciągnąć pod czytelność i chęć pogrupowania wraz ze stałymi, ale czy ja wiem... No i odchodzi problem widzialności - klasa statyczna... mozna jescze rowazyc inne struktury danych.. zalezy co chcemy przeszukiwac i jaka chcemy miec wydajnosc... "jesli nie tablica jako kontener danych to co?" np drzewo bst, avl, lub moze czerwono czarne? moze kopiec? moze koleji fifo albo lifo ? zalezy jaki efekt koncowy z jaka wydajnoscia chcemy uzyskac... Ten post edytował dem 17.06.2009, 19:40:28 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 175 Pomógł: 12 Dołączył: 28.06.2007 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
ArrayObject o którym pisał erix jest fajnym rozwiązaniem, dodam przykład z manuala.
-------------------- Wyobraźnia bez wiedzy może stworzyć rzeczy piękne.
Wiedza bez wyobraźni najwyżej doskonałe. Albert Einstein |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A po co aż tak?
I masz to samo. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 175 Pomógł: 12 Dołączył: 28.06.2007 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
O prosze, jeszcze prościej. Szkoda że w php nie ma jako takiego głównego obiektu (tj w javie Object), co prawda niby jest stdObj, ale jakieś to kulawe.
-------------------- Wyobraźnia bez wiedzy może stworzyć rzeczy piękne.
Wiedza bez wyobraźni najwyżej doskonałe. Albert Einstein |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 04:19 |