Modulowa budowa

Regulamin działu
Kolorowanie składni :
[php][/php], [sql][/sql], [html][/html], [css][/css], [js][/js], [python][/python], [perl][/perl], [ruby][/ruby], [xml][/xml], [xsl][/xsl]

Modulowa budowa

Postprzez kodziek 19 sty 2010, o 01:45

Sprawa wyglada tak, ze pisalem juz troche i chyba powoli dojrzewam do proby podejscia do wlasnego frameworka.
Wiem, wiem, ze jest duzo dobrych, ale coraz czesciej uwazam, ze lepiej napisac wlasny kod idealnie pod wlasne potrzeby niz dostosowywac cudze dziela, a ze lubie pisac hobbistycznie to czemu nie.
Chcialbym uslyszec jak Wy sie zapatrujecie sie na moj (albo i niekoniecznie moj, bo nie grzebalem za rozwiazaniami w necie) pomysl na modulowa budowe frameworka.
Wczesniej pisalem klasy odpowiedzialne za poszczegolne sprawy, typu obsluge plikow, wyswietlania, formatowania danych dla poszczegolnych podstron, laczenia z baza, etc.
Problem byl w tym, ze klasa zawierajaca np. obsluge plikow zawierala wszystkie metody tj. obsluge zdjec w galerii jak i upload plikow do downloadu, itp.
Pomysl moj wyglada tak, ze dla kazdego modulu tj. np. news, download, galeria, etc. beda tworzone oddzielne katalogi z plikami klas, ktore to beda rozszerzaly funkcjonalnosci podstawowych klas potrzebnych do wyswietlenia pustej strony (tj. baza danych, wyswietlanie (display)), badz tworzyla dodatkowa, ktora w podstawowej wersji nie istnieje (np. obsluga plikow).
W ten sposob aby dodac/usunac funkcjonalnosc jakiegos modulu wystarczy, ze usune/dodam dany katalog do zbioru pozostalych klas.

To chyba wszystko. Jak cos jest niezrozumiale, to przepraszam, ale dzis mialem ciezki dzien ;p
W razie potrzeby jestem w stanie pozniej zarzucic jakism przykladowym kodem obrazujacym moj punkt widzenia, a jak nie trzeba, to czekam na opinie.

PS. podkreslam, ze to wykminilem sobie nie szukajac w necie zadnych informacji nt. budowania wlasnego frameworka, ani nie przegladajac zadnych istniejacych, wiec jesli jest to klasyczna praktyka prosze od nie drwienie.
Tw. Trzech Typow: ∫ arcsin(n·x) = x·arcsin(n·x) + √(1 - n²·x²)/n
Obrazek

Avatar użytkownika
kodziek
 
Posty: 25
Dołączył(a): 18 wrz 2009, o 15:42
Lokalizacja: Zdunska Wola / Lodz

Re: Modulowa budowa

Postprzez zbt 22 sty 2010, o 20:51

Heh, tj wiesz, wszystko ładnie pięknie, ale jeśli przychodzi do pisania już nie jest tak kolorowo jak pokazują założenia.

Modułowa budowa ? To pojecie nie zostało chyba jeszcze zdefiniowane, chodź każdy wie w czym rzecz. Kwestia taka, że widziałem bardzo wiele CMSów, komercyjnych, autorskich jaki open source, które nosiły w/w miano. Ale ich silnik opierał się na include($mod);

Mam nadzieję, że nie mylisz pojęć. Własny FW to nie CMS, do którego dopisujesz moduły, zmieniasz design i rozdajesz jako osobne systemy. Kod frameworka musi być na tyle elastyczny, że napiszesz w nim wszystko z małym nakładem pracy. Począwszy od małych stron, przez narzędzia, roboty, czy też potężne portale. Gdzie warunkiem jest zachowanie wzorca (?).

Dokładnie mowa o MVC. Część bazowa FW to silnik określany jako core, rzadziej jako root. To kontroler zarządzający wszystkim. Korzysta on z modeli (wzorzec factory), które są pierwowzorami. Przykładowo jeśli masz klase do przeprowadzania relacji z bazą danych, model factory powinien być na tyle elastyczny, że rodzaj bazy (mysql, psql, oracle, etc) zalezy tylko od interfejsu jaki zadeklarujesz. W ten sposob zachowujesz forme w każdym module.

Jeśli znów mowa o samych modułach i ich obsłudze. Nie ma tutaj żadnego, że tak powiem, standardu. Jako programista musisz sobie to opracować sam i właśnie ta część biznesowa pozwala na rozróżnienie FW.

Grunt żebyś zachował max elastyki pisząc FW. Przykładowo ja na podstawie swojego, moduły piszę sobie zależnie od kaprysu. Na Twoim przykładzie: raz dziele galerie, newsy i download na osobne moduły; natomiast jeśli są one mało wymagające, podpinam je do modułu głównego (front control) jako modele zwracające mi potrzebne dane, bo przecież nic nie stoi na przeszkodzie, aby inne moduły z nich (z modeli) korzystały. Tutaj wszystko zależy od Ciebie, i tylko Ciebie, baa, nie sugeruj się rozwiązaniami innych, bo sie pogubisz. Zresztą tak zamieszałem, że już pewnie nie rozróżniasz modelu od modułu.

Nie napisałeś na ile orientujesz się w OOP, czy znasz wzorzec MVC i ogólnie czy stosowałeś jakiekolwiek wzorce obiektowe, czy to prototypy, interfejsy, singletony. Tym samym nie mam pojęcia czy znasz techniki automatyzacji zadań, które są nazywane przez wielu automagicznymi (autoladowanie klas, autokontrola modulow na podstawie REQUEST_URI, heurystyczne filtrowanie globalnych danych pochodzących od usera etc).

Rozwiń myśl, postaram się pomóc na tyle, na ile moja wiedza pozwala.

Pozdrawiam
Tyle jesteś wart, ile od siebie możesz dać...

Avatar użytkownika
zbt
 
Posty: 44
Dołączył(a): 28 lip 2009, o 13:08
Lokalizacja: /etc/hosts


Powrót do PHP

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 0 gości

cron