![]() |
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: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat jeszcze wroce do wypowiedzi HAWK'a
Cytat wynika właśnie z tego, że wszystko ma dostęp do wszystkiego. A design obiektowy wymusza zastanowienie się, komu dać dostęp (referencję) do danego obiektu hm, przyszlo mi na mysl, ze w sumie chyba nie ma sensu branie pod uwage dostepnosci. Przeciez chyba wszystkie zmienne sa dostepne w zmiennej $GLOBALS... wiec jesli ja tworze sobie w obietk np: silnik, to w GLOBALS bedzie dostep do tej funkcji, ja tak to robie. Wiec czemu ktos kto nie ma dostepu do jednej klasy nie zdobedzie go ? zaden problem napisac [php:1:5a2c012149]<?php $nowy_obiekt = & $GLOBALS['nazwa_obiektu']; ?>[/php:1:5a2c012149] ? W ten spsob nie stworzysz powiazan klas. Po drugie to nie jest to zgodne z OOP - aby dawac dostep do wszystkich obiektow systemu wszystkim obiektom. Nie kazdy obiekt powinen ingerowac - miec dostp - np do klasy ustawien, czy parsera konfiguracji. Dotgo dochodzi bezpieczenstwo oraz wieksze prawdopodobienstwo, ze bedzie gdzies blad... i tak jak wczesniej wspomnial hawk: "Mało modyfikowalne. Jak już masz to zaimplementowane to zmiana rozwala cały kod. A np. treść metody możesz wymienić, byleby tylko dalej zwracała co trzeba." Takie sa poprostu zasady, ktorych trzeba sie trzymac, aby wykorzystac OOP i nie polpelniac bleddow, ktore pozniej moga byc trudne do wykrycia. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 15:33 |