Citat:
Originalno napisao Ilija Studen
Sistem je jako fleksibilan i radi prilično lepo, ali ima par mana - kompleksnost, smanjena brzina izvršavanja, zahteva dosta discipline...
|
u vezi kompleksnosti i performansi:
Istina je da covek moze da se zanese, i da u ovakvom vidu razvoja previdi neke stvari, ili jednostavno previshe zakomplikuje stvar koja je u sustini prosta.
Po meni, recept za uspeh je da stvarima koje obavljaju najnize funkcije (front kontroler, autentifikacija, registrovanje modela, mapiranje url-ova, db layer) posveti najvise paznje i taj deo se jesdnostavno mora DOBRO osmisliti, jer ti delovi aplikacije trpe najvise load-a, pa obicno odatle i poticu problemi.
Obicno ljudi iz najbolje namere previse zakomplikuju stvar, pa se od trenutka kad neko ukuca app.com/news/ do momenta kada se izrenderuje sadrzaj desi:
-par upita u bazu
-par upita dali fajl postoji
-par provera dali klasa postoji
-par provera dali metoda postoji
+ autentifikacija, provera nivoa pristupa + trigerovanje nekih eventova shodno tome
sto naravno ima tendenciju da uspori celu stvar i poveca kompleksnost
Naravno postoje i resenja za te probleme, neka su krajnje prljava, neka malo manje, najbolje je naci se negde na sredini, optimizovati koliko se moze, ono sto ne mora u bazu ne stavljati tamo po svaku cenu.
Ili cak neke od provera koje sam naveo uraditi pri svakom deploymentu na server (pokretanjem neke test skripte, koja ce da protrci kroz app i vidi jel sve na svom mestu)a onda u slucaju da se ipak desi neka gdeska servirati generic error, modela ima koliko hoces, samo treba izabrati onaj koji najvise odgovara za datu aplikaciju...