Web aplikacije, web servisi i software Frameworks, web servisi, programi, plugin-ovi, ekstenzije korisni za razvoj web sajtova. Sponzor: |
|
Alati teme | Način prikaza |
29. 02. 2008. | #1 |
Pukovnik u penziji
Grand Master
|
Organizacija modula
Dakle drage kolege interesuje me na koji nacin organizujete razne module koje napisete i na koji nacin ih ukljucujete u vase web aplikacije ...
|
29. 02. 2008. | #2 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Kako organizujemo kod unutar samih modula ili?
PS: 100% reusable moduli koje samo "sipaš i ne misliš" su čista utopija.
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
29. 02. 2008. | #3 |
Ivan Dilber
Sir Write-a-Lot
|
moje shvatanje stvari je da su biblioteke klasa/funkcija ono sto treba da se samo kopira izmedju projekata, a da su moduli delovi aplikacija koji su specijalizovani za neki task u toj konkretnoj aplikaciji. Samo moduli koji rade iskljucivo sa sopstvenim podacima mogu da budu 100% reusable, cim imas neke zajednicke strukture podataka koje se dele medju modulima (kategorije, usere, itd..) tu stvari pocinju da se komplikuju do te mere da je lakse prepraviti modul za svaki novi projekat, nego ga pisati da bude 100% reusable..
__________________
Leadership is the art of getting people to want to do what you know must be done. |
29. 02. 2008. | #4 |
Banned
Knowledge base
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
|
ivanhoe, mislim da gresis
Ako makar malo radis prateci neke osnovne ideje mvc koncepta pisanje reusable "modula" je peace of cake. Jednostavno Apstrakcija > all PS. PEAR je gomila reusable modula koji zavise od drugih modula, nevidim da posoji neki problem |
29. 02. 2008. | #5 |
Pukovnik u penziji
Grand Master
|
@Ilija
Znam da nema 'ljeba bez motike ali postoji dosta stvari koje mogu biti identicne od projekta do projekta (validacija datuma, IP adrese, MAC adrese, email-a itd. ) Recimo da pravite web aplikaciju i cijenu da odredjuju moduli koji su ugradjeni u nju (tipa modul za to i to kosta 100$) Svidja mi se sistem organizacije kod WP-a pa cu malo da zabijem nos... |
29. 02. 2008. | #6 | |
133t
Master
|
sve zavisi sta je po vama "modul"
nekome je modul kad doda nesto sitno, recimo validaciju email adrese, a nekome je ceo sajt modularan.. recimo /blog/ je jedan ceo modul /gallery/ je drugi i oni apsolutno nemaju pojma jedni o drugom, svako ima svoj controller, view, i modele a koriste zajednicke core klase, recimo klasu za pristup bazi... ja stvari organizujem po zendovom modelu: http://framework.zend.com/manual/en/...nventions.html evo jedan primer Citat:
Poslednja izmena od kodi : 29. 02. 2008. u 19:01. |
|
29. 02. 2008. | #7 |
Ivan Dilber
Sir Write-a-Lot
|
pa ja bih rekao da je PEAR gomila klasa ili biblioteka klasa, to sam i pokusavao da kazem, ja to ne bih nazvao modulima... po meni su moduli delovi aplikacije, tipa news, blog, bla, bla... nesto sto glavni kontroler includuje i pozove odgovarajucu metodu, a oni dalje umeju da prihvate input, prikazu output i sl.. znaci jedna zaokruzena i samostalna celina.... IMHO u MVC arhitekturi modul treba da ima sva 3 leyera, ili bar da ume da koristi view i model od glavne aplikacije... inace je to obicna biblioteka cije funkcije pozivas...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
29. 02. 2008. | #8 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
PEAR i Zend Framework su biblioteka klasa. Kao što su Kodi i Ivan već rekli, modul je više kao mini aplikacija unutar same aplikacije.
Kada smo dizajnirali activeCollab 1.0 cilj je bio da imamo u potpunosti modularnu platformu gde korisnici neće morati nužno da se oslanjaju samo na nas za razvoj već će moći da šire sistem i kroje ga kako njima odgovara. Na kraju smo završili sa sistemom gde je svaki modul mala MVC aplikacija. Iako izolovani, moduli mogu da dele dele neke resurse (helpere na primer), a međusobno komuniciraju kroz evente. Na primer, kada activeCollab slaže glavni meni samo triggeruje on_build_menu event. Moduli "slušaju" event i naslažu opcije koje se kasnije prikazuju. Sistem je jako fleksibilan i radi prilično lepo, ali ima par mana - kompleksnost, smanjena brzina izvršavanja, zahteva dosta discipline... Modularna arhitektura za activeCollab je upalila jer MI kontrolišemo razvoj. Kada ti dođe klijent koji izvoljeva i ima razne fix ideje možeš samo da gledaš kako se tvoj "prelepo dizajniran modularan sistem" raspada jer moraš da ga krpiš i hakuješ kako bi napravio šta klijent hoće. PS: Attachovao sam kako izgleda struktura jednog activeCollab modula. Sistem isporučujemo sa 10 modula u Corporate i 6 u Small Biz verziji.
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog Poslednja izmena od Ilija Studen : 29. 02. 2008. u 20:07. |
29. 02. 2008. | #9 | |
133t
Master
|
Citat:
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... |
|
"Hvala" kodi za poruku: |
Alati teme | |
Način prikaza | |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Organizacija projekta | kai | e-Business | 5 | 16. 10. 2011. 22:19 |
Problem sa XDS Modula-2 kompajlerom | nmcyber | Programiranje | 3 | 19. 01. 2011. 02:48 |
Codeigniter (CI) setup, organizacija fajlova | bOkIcA | PHP | 9 | 11. 05. 2010. 12:35 |
Google indexiranje foruma kao php nuke modula | bukovski | Marketing i SEO | 4 | 11. 11. 2006. 09:47 |
Organizacija koda | Zeljko | PHP | 0 | 23. 07. 2005. 00:17 |