![]() |
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.
![]() |
![]()
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 ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 195 Pomógł: 0 Dołączył: 7.07.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No, to juz jest bardzo dyskusyjne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Sadze, ze kazdy uczestnik tej grupy bedzie mial wlasne zdanie. Ja sklaniam sie ku rozwiazaniu abstrakcyjnego API. tworzysz klase abstrakcyjna, lub (w php5) interfejs z metodami publicznymi getRow(num), getNextRow(), setPointer(num), getRows() i tak dalej a potem tworzysz wyspecjalizowane klasy dziedziczace ten interfejs, ktore te metody stosuja dla pliku xml o konkretnej budowie, albo dla bazy danych, albo dla pliku tekstowego, albo dla pliku RDF... Klasa User powinna pobierac z silnika referencje do aktywnej instancji klasy korzystajacej z interfejsu Input i uzywajac jej pobierac. Staraj sie mocno rozgraniczac to co zajmuje sie przetwarzaniem danych wewnatrz, a to co pobiera te dane z zewnatrz. Dzieki temu chcac zmienic metode przechowywania danych masz pewnosc, ze musisz jedynie podmienic klase implementujaca Input na inna.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 11:07 |