Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Budowa aplikacji opartej na modułach, Założenia przy budowie aplikacji modułowej
masel
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 24.05.2006

Ostrzeżenie: (0%)
-----


Może ktoś z szanownych użytkowników budował aplikacje w oparciu o moduły
Potrzebuję założeń teoretycznych i jak to możliwe jakiś przykładów
Aplikacja, jaką projektuje opiera się na bazie danych
Problem to sprawa, jakie usługi powinny być w silniku a jakie w opcjonalnych modułach
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Prph
post
Post #2





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam,

To zalezy o jakie moduly Ci chodzi. W sumie to nie ma jakiegos okreslonego podejscia do tej sprawy.
Piszac jadro, framework lub jak to nazwiemy, tworzymy dobra aplikacje modularna.

Jestem w trakcie pisania frameworka opartego na ideologii MVC. Kazdy, kto pisal frameworki MVC wie, ze calosc zbudowana jest z modulow. Akcje (czyli zdarzenia - np DodajNowosc, ZalogujUzytkownika) dziedzicza po klasie bazowej dla akcji, ktora sama juz w sobie udostepnia interfejs.

Klasy korzystajac ze zrodel danych (np baz danych) uzywaja tzw. Modeli (nazwa w terminologii MVC - klasa udostepniajaca dane). Model posiada swoj interfejst (najczesniej interfejsny dwoch innych modeli sa zupelnie rozne).

Przyklad: Model dla Nowosci. Moze zawierac takie metody, jak pobierzListe(), pobierzJeden($id) itp.

Akcja tworzy sobie model, wywyluje np pobierzListe(), a z tym rtobi co jej sie podoba.

Model z kolei potrzebuje dostepu do zrodla danych. Dlatego np model tez moze dziedziczyc po bazowej klasie (chociaz wiele osob twierdzi, ze nie powinno sie tego stosowac). Taka klasa bazowa moze udostepniac np. polaczenie z baza danych dla Modelu.

Baza danych z kolei moze byc czesto wykorzystywana w aplikacji. Mozna wiec pokusic sie o klase obslugujaca baze, udostepniajac metody typu query, update, insert, dzieki czemu mozna ulatwic konstruowanie dlugich zapytan do bazy (np dla update tworzyc tablice (pole, wartosc), przekazac ja do metody update, a ta juz sama ulozy zapytanie i wykona je w bazie).

Podsumowujac: Piszac modularna aplikacje zwyczajnie podziel ja na kawalki kodu - w programowaniu obiektowym wydaje sie to duzo latwiejsze. Aby zachowac spojnosc aplikacji - uzyj interfejsow i wymus aby poszczegolne czesci aplikacji byly zgodne z ustalonym interfejsem (np. aby zapewnic ze kazda baza danych posiada metode query).

Troche sie rozpisalem, ale mam nadzieje, ze chociaz troche pomoglem.

Adrian.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.01.2026 - 16:31