Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Object Oriented Programming - i jego pułapki.
LoPMX
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 25.11.2003
Skąd: Białe Błota

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


Tak wlasnie siedze i mysle sobie, bo chce przepisac swoja aplikacje z GOD classes na prawdziwe OOP. Chce aby kazda klasa reprezentowala jeden typ danych, np. klasa Articles ma metody tworzace obiekty klasy Article, ktora posiada z kolei metody zwracajace dane danego artykulu. Ale jest problem... Artykuly w bazie danych polaczone sa relacyjnie z Article_Type, oraz Category. I problem w tym, ze klasa Article_Type to tylko article_type z DB, Category to tylko category z DB. W templejcie potrzebuje wyswietlic artykuly wraz z ich kategoria oraz typem (np. test, recenzja czy cokolwiek innego). I nie wiem, jak mam polaczyc te obiekty. Moge oczywiscie zrobic wywolanie obiektu Category z Article, ale to za kazdym wyswietleniem danych tworzy jedno zapytanie do bazy o nazwe kategorii. Ma ktos jakis pomysl?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bumelang
post
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 30.11.2003

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


Cytat
Cytat
php ma chyba za dużą narośl kompatybilności, żeby udało się to wprowadzić z powodzeniem. [...]


W naszym systemie A1 Framework każda strona to własnie taka klasa. Oczywiście owa klasa nie działa tak sama z siebie (choć na dobrą sprawę można byłoby coś takiego osiągnąć, używając na przykład auto_prepend i auto_append - vide http://www.zend.com/zend/spotlight/prepend.php). [...]


Szczerze podziwiam, ale nie widzę związku. Komentowałem to, co mój poprzednik napisał o wielowątkowości php, a mój przykład z klasą rozszerzającą obiekt Page, tyczył się raczej kierunku w którym idzie język (a raczej w którym nie idzie) i nie należy go traktować dosłownie - raczej jako nawiązanie do .NET i Javy.

Cytat
Cytat

Reausumując - doceniam rolę obiektów w tworzeniu pluginów i różnego rodzaju systemów o architekturze komponentowej, ale dalej obstaję, że typowy (i to wcale nie zgorszy) projekt php to Smarty + AdoDB + proceduralny kod, a wszelkie modelowania O/R to już czysta fanaberia.


Muszę tutaj polemizować, bowiem jakiś czas temu stworzyłem całkiem spory serwis właśnie w opisany przez Ciebie sposób [...] jeśli chodzi o kwestię rozwijania kodu, jego testowania, optymalizacji, modularyzacji, przestrzeni nazw, itd, to jest to prawdziwa mordęga. Dobrze zaprojektowany, obiektowy framework to dużo lepsze rozwiązanie.


I wcale tego nie negowałem, tylko że chyba nie do końca zrozumiałeś o czym mówię. Otóż najczęściej spotykane strony php są proste i w tym sensie warto mieć zestaw klas o charakterze bibliotek, ktore potem wykonują za nas czarną robotę związaną z typowymi zadaniami - jakieś walidacje, czy wyświetlanie nagłówka - to myślę nie ulega wątpliwości. Jeśli jednak tworzymy na stronie kilka formularzy i autoryzację, to kwestia czy nie jest przerostem formy nad treścią używanie jakiegoś frameworka w stylu, o jakim piszesz jest cokolwiek dyskusyjna, ale dla dużych to może być bardzo dobre rozwiązanie.

Ale to też nie była kwintesencja mojej wypowiedzi. Chodziło mi o bardziej ogólne zagadnienie, jakim jest całkowita obiektowość w stylu Javy, kiedy Twój program to w 100% klasy nie w sensie formalnym, ale logicznym - kiedy klasy nie stanowią zbioru funkcji, ale modelują rzeczywiste odwzorowania, jak np. wyciąganie artykułu ze źródła danych -> ubieranie go w klasę artykuł -> przekazywanie tej klasy do wyświetlacza. To moim zdaniem przynosi same problemy i żadnych korzyści - z powodów synchronizacji, wydajności, etc. A od tego właśnie zaczął się ten wątek.
Go to the top of the page
+Quote Post

Posty w temacie
- LoPMX   Object Oriented Programming - i jego pułapki.   27.11.2003, 18:17:31
- - bumelang   Swojego czasu trochę nad tym z kumplem debatowaliś...   30.11.2003, 19:57:58
- - halfik   mnie z kolei interesuje ciut inne zagadnienie: czy...   5.12.2003, 08:49:57
- - LukaszLenart   Pomysle, ze masz system ktory generuje jakies rapo...   6.12.2003, 23:42:15
- - halfik   tak, wiem. znam zalety programowania obiektowego, ...   7.12.2003, 12:16:55
- - Seth   Szybsze jest programowanie strukturalne. OOP nie ...   7.12.2003, 13:06:53
- - DeyV   Na szczęscie te róznice są na tyle marginalne, że ...   7.12.2003, 14:22:39
- - LoPMX   zastanawiam sie jak zdolacie zaprojektowac klasy z...   7.12.2003, 14:25:44
- - halfik   CytatOOP nie jest natywne w php. Mimo, ze posiada ...   7.12.2003, 15:37:34
- - Użytkownik   Programowanie obiektowe bardziej pasuje mi do porz...   7.12.2003, 16:20:16
- - halfik   oj, jest potrzebne - jezyki obiektowe to przyszlos...   7.12.2003, 18:06:57
- - Użytkownik   Cytatoj, jest potrzebne - jezyki obiektowe to przy...   8.12.2003, 19:38:10
- - Seth   Pisze (ezPublish, Galaxia, Ambivalence, binaryclou...   8.12.2003, 20:00:19
- - halfik   no ale nawet pomijajac juz duze aplikacje. wezmy p...   8.12.2003, 20:42:21
- - LukaszLenart   Jedna rzecz to prostota zmian, a druga to mozliwos...   9.12.2003, 09:23:06
- - Pathfinder   Witam Swoj maly system buduje tylko na klasach. S...   30.12.2003, 04:38:43
- - LukaszLenart   A czy mozesz udostepnic swoje rowiazanie do wgladu...   30.12.2003, 07:18:01
- - radziel   CytatWitam Swoj maly system buduje tylko na klasa...   30.12.2003, 09:54:54
- - Pathfinder   CytatA czy mozesz udostepnic swoje rowiazanie do w...   30.12.2003, 13:44:35
- - lukaswoj   Ja jestem zdecydowanie za OOP. Zgadza się, że w PH...   2.01.2004, 23:53:19
- - Nalfein][WR   Dokładnie. W całej rozciągłości zgadzam się z luka...   3.01.2004, 12:26:27
- - bumelang   Cytat[WR"]Brakuje jednak tej wielowątkowości w PHP...   6.01.2004, 00:18:49
- - a1internet   Cytatzastanawiam sie jak zdolacie zaprojektowac kl...   12.01.2004, 00:01:05
- - a1internet   Cytatphp ma chyba za dużą narośl kompatybilności, ...   12.01.2004, 00:19:32
- - bumelang   CytatCytatphp ma chyba za dużą narośl kompatybilno...   13.01.2004, 10:59:47
- - halfik   CytatReausumując - doceniam rolę obiektów w tworze...   15.01.2004, 08:41:42
- - cagrET   Cytat... upieranie sie przy strukturalnym nie jest...   15.01.2004, 20:48:41
- - patrycjusz   CytatCytat ... upieranie sie przy strukturalnym ni...   15.01.2004, 21:57:46
- - cagrET   Patrycjuszu nie zrozumiales o co mi chodzilo (moze...   15.01.2004, 23:19:50
- - trax   Dobre funkcje też mogą być rozwiązaniem   7.02.2004, 12:49:40
- - Seth   Mozna tez uzywac 286 i dyskietek zamiast tydsku, t...   8.02.2004, 22:42:39
- - keedy   ja tez pisze swoj maly systemik na oop ;p ale wole...   28.09.2004, 01:17:59
- - Yarecki   Cytat(Seth @ 2004-02-08 23:42:39)Pewnych rzec...   28.09.2004, 07:26:39
- - hawk   Cytat(Yarecki @ 2004-09-28 07:26:39)Programow...   28.09.2004, 11:15:59
- - e-Gandalf   Geez... jaka bzdura... Jak napisal hawk: nie mozna...   28.09.2004, 14:10:04
- - Yarecki   Wypowiedzi na forum nie muszą być obiektywne, bo n...   28.09.2004, 15:24:01
- - hawk   Ludzie mają też problemy z programowaniem struktur...   29.09.2004, 09:19:04
- - kubatron   Seth: Czy ten Aspect Oriented Programing (AOP) będ...   1.10.2004, 06:50:27
- - Bora   na necie jest gdzies przyklad programow napisany a...   1.10.2004, 10:54:20
- - Krolik   Cytat(hawk @ 2004-09-29 08:19:04)Ja np najpie...   17.11.2004, 10:11:44
- - hawk   1) php a Java to jest, niestety, gigantyczna przep...   17.11.2004, 11:56:35
- - Krolik   @hawk: wiem ze moze jestem niepoprawnym optymista,...   17.11.2004, 14:08:22
- - DeyV   ale, do %#$^%, chłopie. Jak tak bardzo lubisz...   19.11.2004, 21:35:05
- - Krolik   @DeyV: Przecież ja nikogo nie odmawiam od pisania ...   20.11.2004, 10:56:55
- - DeyV   Ok, peace Rzeczywiście - "trochę" sie u...   20.11.2004, 11:19:47


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

 



RSS Aktualny czas: 4.10.2025 - 23:23