Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zasady pisania na forum Pro

Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.

> jak pisac jadro ?
Balin
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 14.05.2003

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


Witam, ostatnio zastanawiam sie w jaki sposob napisac jadro systemu webowego w php - doszedlem do wniosku, ze najlepiej uzyc singletonow do tworzenia instancji klas (db, io, klasa sesji, szablonow itp.) czy jednak lepiej aby jadro bylo rozproszone (wiele klas, kazda posiadajaca metode instance() ) czy raczej napisac jeszcze jednak klase Kernela, ktora to klasa przechowywala by w sobie metody tworzenia instancji i instancje wszystkich podsystemow, oraz kontrolowala wszelkie proby uzyskania takiej instancji ?
Jestem ciekaw jak wy to widzicie ? w jaki sposob wy pisaliscie rdzen systemu ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




A ja, tak może nieco OT, powiem, ze nie rozumiem ludzi, którzy zarzekają się, ze nie będą pisać w OOP, ponieważ jest to 'wolne'.

Na poparcie swojego stwierdzenia przytoczę przykład konkursu programistycznego z przed jakiegoś roku, polegającego na napisaniu jakiegoś złozonego algorytmu operującego na kartach do gry w php.

Ocenie podlegało to, by skrypt a) robił to co ma zrobić (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) działał jak najszybciej.

Zadanie spotkało się ze sporym odzewem, tym bardziej, że nagroda była całkiem ciekawa (chyba Zend Studio i jakieś spore konto www)
Pojawilo się wiec bardzo dużo rozwiazań.
Ludzie też bardzo poważnie potraktowali zagadniania przyśpieszania skryptó. Widziałem nawet kod, który był napisany bez żadnych dodaktowych spacji, oraz znaków nowych lini, aby.. działał jak najszybciej.

Co ciekawe jednak - wygrał skrytp napisany supełnie inaczej.
Był to zresztą chyba kod chłopaka z Polski, kod napisany w pełni w oparciu o OOP, wraz z dokładnymi komentarzami oraz pięknie sformatowanym kodem.

A żeby było jeszce śmieszniej - kod ten wykonywał się od 5 do 50 razy szybciej, niż rozwiazania konkurencyjne, napisane oczywiście strukturalnie .

Może jest to nieco skrajny przypadek, ponieważ nie ma wątpliwości, że ten sam agorytm napisany przy wykorzystaniu OOP, i strukturalnie, zawsze będzie minimalnie szybszyw tym 2 przypadku.
Są to jednak na tyle minimalne różnice, że tak naprawdę nie powinno się o nich wspominać.
Czasem co najwyżej pojawia się inny problem. Pisząć obiektowo, znacznie łatwiej zapomnieć o bagarzu kodu, który pociąga uruchomienie naszej aplikacji. W kodzie strukturalnym jesteśmy zmuszeni do ciągłego przglądania kodu, co skłania nas do cpytamalizawania go (choćby dlatego, by mniej go przepisywać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )
Korzystając z przygotowanych wcześniej klas znacznie łatwiej o tym zapomnieć.
Ale w takim przypadku - problem tkwi nie w budowie php, albo w filozofi OOP, a w ... programiście. (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif)
Go to the top of the page
+Quote Post

Posty w temacie
- Balin   jak pisac jadro ?   20.03.2004, 16:54:29
- - Bora   Engone |--Biblioteki | |-Error | |-DB (ja napisa...   20.03.2004, 20:17:35
- - MaKARON   W tym zastosowaniu, to chyba kazdy ma swoj sposob ...   21.03.2004, 10:46:57
- - Bora   Co u Ciebie robi ta klasa? [/quote] Ma ona za za...   21.03.2004, 11:43:03
- - Ozzy   CytatTroche innaczej to zrobilem (mod_rewrite). A...   21.03.2004, 15:03:22
- - MaKARON   Zajrzyj do tamego tematu, troche tam wkleilem. Cy...   21.03.2004, 20:18:15
- - ebe   CytatA jak masz zrealizowane uprawnienia? Dołącza...   21.03.2004, 23:41:06
- - MaKARON   A Ty co wymysliles/jak to zaplanowales?   22.03.2004, 14:53:05
- - Balin   ciekawe jest to co piszecie, ale nadal nie wiem cz...   22.03.2004, 16:54:04
- - Ace   ja raczej skoncentrowalem sie nad tym, zeby napisa...   22.03.2004, 18:16:54
- - maulus   a właściwie co wżucacie do jądra za co są tam odpo...   22.03.2004, 20:18:45
- - Balin   na pewno takie klasy jak: config input/output baza...   22.03.2004, 20:27:38
- - MaKARON   Cytatja raczej skoncentrowalem sie nad tym, zeby n...   22.03.2004, 22:07:26
- - Ace   Makaron : ok rozumiem, ale w moim przypadku ograni...   22.03.2004, 23:41:21
- - MaKARON   Nie pozostało nic, tylko życzyć wytrwałości i czek...   24.03.2004, 14:10:27
- - Bora   ja stworzyłem jedną główną klase zarządzającą wszy...   25.03.2004, 13:16:13
- - Strz@łka   No to teraz ja zadam wam pytanie. Jak już pisać ją...   1.04.2004, 19:52:05
- - kwiateek   CytatNo to teraz ja zadam wam pytanie. Jak już pis...   1.04.2004, 19:56:44
- - halfik   Panowie debatujecie tutaj na temat jądra - i dobrz...   1.04.2004, 20:23:42
- - jaco   Cytatco się stanie jeśli napiszemy system średnich...   1.04.2004, 20:35:58
- - halfik   CytatA ja jak najbardziej chociaz lepiej chocby ob...   1.04.2004, 20:37:54
- - robert_b   Wow!!! Ale wy wszyscy jesteście mądrzy! Chyba źle ...   4.04.2004, 22:34:18
- - Sh4dow   no dobra temu panu juz podziekujemy Joke ! A tak...   5.04.2004, 15:37:44
- - halfik   CytatWlasnie skonczylem pisać swoj silnik do stron...   5.04.2004, 17:53:54
- - jaco   Ja tez nie koduje obiektowo, narazie badam (dla mn...   5.04.2004, 20:14:12
- - halfik   CytatDziedziczenie - napewno przydatna zabawka Ja...   5.04.2004, 23:04:40
- - seaquest   @jaco: ale jak rozwiązujesz problem kiedy potrzebn...   6.04.2004, 15:26:16
- - Balin   Wiec nie tworz metod statycznych - stworz obiekt, ...   6.04.2004, 17:34:53
- - seaquest   Balin wogule mnie nie zrozumiałeś. Chodzi mi o to,...   6.04.2004, 18:02:33
- - hawk   @Balin: To złe rozwiązanie. Bo którą instancję ma ...   6.04.2004, 18:03:20
- - jaco   Cytatale jak rozwiązujesz problem kiedy potrzebne ...   6.04.2004, 21:32:59
- - DeyV   A ja, tak może nieco OT, powiem, ze nie rozumiem l...   6.04.2004, 21:47:03
- - jaco   CytatA ja, tak może nieco OT, powiem, ze nie rozum...   6.04.2004, 22:08:31
- - KirkoR   Można gdzieś znaleźć na necie do ściągnięcia taki ...   11.04.2004, 14:09:39
- - marcin96   poczytaj sobie o tym: http://www.php.pl/index.php...   11.04.2004, 14:44:09
- - Ace   Ja mam pytanie z innej beczki. Mianowicie, czy prz...   11.04.2004, 17:25:11
- - hawk   1. Jest nieobiektowe (ale to sam wiesz...) 2. Syp...   11.04.2004, 20:31:47
- - Ace   ok to milo, bo w sumie to tylko jedna osoba to pis...   11.04.2004, 23:14:44
- - jaco   Wroce do tematu mojego silnika i jego "obiektowosc...   11.04.2004, 23:59:59
- - Ace   jeszcze wroce do wypowiedzi HAWK'a Cytatwynika wła...   12.04.2004, 14:55:06
- - hawk   Cytatjeszcze wroce do wypowiedzi HAWK'a Nie zrozum...   12.04.2004, 15:08:53
- - Seth   Cytatjeszcze wroce do wypowiedzi HAWK'a Cytat wyni...   12.04.2004, 15:11:52
- - Ace   ok, zrozumialem, lecz nadal jest kwestia dostepu, ...   12.04.2004, 17:51:37
- - Seth   Tak, ale wlasnie to jest zlym nawykiem i nie trzym...   12.04.2004, 18:10:03
- - Balin   Czy dobrym pomyslem jest wg. was stworzenie klasy ...   12.04.2004, 20:30:57
- - Ozzy   U mnie jak na razie (a pewnie zmieni się 100 razy)...   12.04.2004, 22:27:04
- - Balin   Rozwiazanie ciekawe, ale wg mnie troche niebezpiec...   13.04.2004, 00:20:10
- - Ozzy   Cytatwg mnie troche niebezpieczne Tak jak mówie, ...   13.04.2004, 08:54:03
- - hawk   CytatCzy dobrym pomyslem jest wg. was stworzenie k...   13.04.2004, 10:01:45
- - e-Gandalf   Ja sie ostatnio sklaniam ku pelnej modularyzacji z...   13.04.2004, 18:49:51
- - hawk   @e-Gandalf: To naprawdę ciekawe podejście. Zastana...   14.04.2004, 11:42:32
- - lolek09   Hmm... może trafię jak kulą w płot, ale jak mniej ...   14.04.2004, 16:30:46
- - e-Gandalf   CytatZastanawiam sie, jak rozwiązałeś kwestię cach...   14.04.2004, 16:51:13
- - lolek09   Dzięki, ach... czuje na swej skurze łagodny blasko...   14.04.2004, 16:57:38
- - e-Gandalf   No, to juz jest bardzo dyskusyjne Sadze, ze kazdy...   14.04.2004, 19:00:24
- - marcin96   e-Gandalf.. a Ty czasem nie mówisz o DAO? Input to...   14.04.2004, 19:13:40
- - e-Gandalf   Hmm... no sluchajcie, wszystko zalezy od sposobu p...   14.04.2004, 19:26:52
- - hawk   @e-Gandalf: Hmm, a jak to się ma do iteratorów w P...   14.04.2004, 21:52:13
- - e-Gandalf   Cytat@e-Gandalf: Hmm, a jak to się ma do iteratoró...   14.04.2004, 22:27:43
- - hawk   Uff, sporo tego CytatStąd min. korzystam z hashMa...   15.04.2004, 22:02:14
- - hawk   CytatHmm no i nasunelo mi sie kolejne pytanie :] J...   15.04.2004, 23:12:39
- - e-Gandalf   Doleje troche oliwy do ognia, a co CytatTutaj je...   15.04.2004, 23:56:48
- - hawk   CytatHmmm ciekawe to co piszesz A wracajac do rou...   16.04.2004, 08:21:09
- - hawk   CytatDing - dong. To ja Cie bardzo poprosze o wygo...   16.04.2004, 08:33:28
- - e-Gandalf   CytatOT: php5 pociaga mnie bardziej chyba niz moja...   16.04.2004, 11:32:29
- - hawk   CytatA tak btw. hawk skad sciagnac phiend2 ? Znik...   16.04.2004, 16:54:25
- - Ace   Mam pytanie z innej beczki, lecz tez dotyczy jadra...   16.04.2004, 16:58:20
- - e-Gandalf   zalezy tez od procesora oczywiscie... hawk: ja by...   16.04.2004, 17:55:37
- - hawk   Hmm, ale to nie jest takie proste. Bo ja widzę sys...   16.04.2004, 18:48:17
- - e-Gandalf   Ok, ok. ale to nie koliduje z elastycznoscia. Ja t...   16.04.2004, 18:55:37
- - hawk   No cóż, fanatyczne trzymanie się MVC jest tak samo...   17.04.2004, 16:59:08
- - bela_666   mam pytanko mozecie podac jakies materialy o pisn...   22.04.2004, 20:58:41
- - michaloo   pytanie numer 2: Przeglądając tak te wszystkie str...   23.04.2004, 16:19:06
- - hawk   OT: router naprawdę zrobił karierę   11.05.2004, 23:15:45
- - jaco   CytatSprawa 1. rejestr obiektow ? co o tym sadzici...   12.05.2004, 08:21:33
- - hawk   CytatHawk: wg mnie router jesli chcemy jakis "latw...   13.05.2004, 10:20:50
- - Seth   Co prawda nie robilem tego do modelu MVC, a do drz...   13.05.2004, 11:56:27
- - hawk   CytatAno wlasnie, wiec jak ta tablice parametrow o...   13.05.2004, 12:23:28
- - e-Gandalf   do tego o czym mowicie wykorzystuje sie standard. ...   15.05.2004, 16:38:59
- - hawk   CytatHawk a myslales moze nad alternatywnym przeka...   15.05.2004, 20:03:29
- - e-Gandalf   serafin: "The XLink specification [XLink] defines ...   15.05.2004, 23:22:30
- - Bora   gdzie można sie dokłądniej zapoznac z model'em 3 ?...   18.05.2004, 10:47:24
- - Balin   Byla tutaj mowa o IF, zapoznalem sie wstepnie z op...   1.07.2004, 20:07:20
- - bela_666   co samo jądro powinno robić? nie pytam się o cały ...   22.10.2004, 19:46:26
- - Neotion   Myślę że jądro musi kontrolować dostęp do danych, ...   3.11.2004, 14:24:33
- - Lame   Zajrzyj tutaj: http://forum.php.pl/index.php?showt...   3.11.2004, 15:48:24
- - halfik   Cytat(Neotion @ 2004-11-03 15:24:33)Myślę że ...   8.11.2004, 08:14:19
- - Sito_s   Mam pytanie. Czy jest jakaś książka która wprowadz...   21.03.2005, 20:28:30
- - Vengeance   Tak. Ta książka zwie się forum.php.pl A pozatym t...   21.03.2005, 20:45:20
- - Sito_s   To znaczy pisać umiem i nawet zacząłem pisać stron...   22.03.2005, 15:14:12
- - tyfusek   tutorial MVC dla początkujacych(w. ang) http://www...   22.03.2005, 15:53:24
- - bela_666   Cytat(Sito_s @ 2005-03-22 15:14:12)To znaczy ...   22.03.2005, 18:38:31
- - Sito_s   Narazie tyle bo nie doczytałem całego teamtu. np: ...   22.03.2005, 19:04:07
- - bela_666   Singleton - wzorzec projektowy, odsyłam do wyszuki...   22.03.2005, 20:50:18
- - aleksander   niedługo pojawi się na php.pl artykuł o singletoni...   22.03.2005, 21:00:18
- - Sito_s   Fajnie dzięki, jak coś jeszze znajde to napisze   23.03.2005, 15:20:50
- - Diablos   CytatEngone |--Biblioteki | |-Error | |-DB (ja nap...   8.07.2005, 21:10:44
- - NuLL   Przecież jest opis na początku.   9.07.2005, 15:41:41
- - Rast/Abaddon   | Poziom | Podzial | pliki | Opis | USER | Naklad...   27.07.2005, 08:16:49
- - berdyk   Cytat(Rast/Abaddon @ 2005-07-27 09:16:49)USER...   5.08.2005, 22:39:27
2 Stron V   1 2 >


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 - 21:49