Programowanie obiektowe bez diagramów klas traci na szybkości i dokładności. Na przedstawionych diagramach umieszczonych w artykule można zapoznać się z typem Generalizacja. Diagramy zostały wykonane w programie Microsoft Office Visio. Obecnie w środowiskach programistycznych takich jak Microsoft Visual Studio diagramy klas są generowane automatycznie podczas programowania.
UWAGA: Generalizacja = Dziedziczenie w Językach Obiektowych
Na samej górze diagramu znajduje się nawa klasy, potem są atrybuty a na końcu operacje. Uprawnienia oznacza się w następujący sposób: "-" prywatne, "+" publiczne, "#" chronione. Przy obecnych programach stosuje się często skrócone wersje klas, tak jak na rysunku 2, dzięki czemu przy bardzo dużych projektach jest możliwe pokazanie przynajmniej wyglądu ogólnego całej aplikacji. Diagramy klas w razie potrzeby mogą bardzo szczegółowo przedstawić cały program.
UWAGA: Pakiet Session został stworzony na podstawie rozdziału 15 z książki „PHP5 Zaawansowane programowanie”.
Dzięki pakietom z rysunku 1, istnieje możliwość pokazania wyglądu abstrakcyjnego całego projektu. Wszystkich zainteresowanych tworzeniem formularzy w języku PHP i technologii AJAX zapraszamy do zapoznania się z książką „AJAX i PHP. Tworzenie interaktywnych aplikacji internetowych. Wydanie II”.
Rys. 1. Diagramy klas podzielone na pakiety
Na rysunku 1 oznaczono:
- Pakiet DaneDoForm posiada klasę zawierającą tablice do formularzy (przydzielanie uprawnień, miesiące, województwa).
- Pakiet Session zawiera klasy odpowiedzialne za sesje na bazach danych jak i za możliwość logowania do programu użytkownikom, autorom oraz administratorom.
- Pakiet DataManager zawiera klasy odpowiedzialne za komunikację z bazą danych MySQL.
- Pakiet Validate odpowiada za komunikację w całym programie.
Na rys. 2 przedstawione są klasy odpowiedzialne za działanie całego programu. Główną klasą jest Validate to ona zawiera atrybuty i metody dla wszystkich. Dzięki temu pakietowi możliwe jest weryfikowanie formularzy za pomocą AJAX i samego PHP od strony serwera. Zarządza informacjami dla administratora, autora, użytkownika oraz dla działów artykuły, galerii, plików, pomocy.
Rys. 2. Zawartość pakietu Validate
Diagram klas pakietu Validate przedstawia rys. 3 i 4.
Rys. 3. Pierwsza część pakietu Validate
Rys. 4. Druga część pakietu Validate
Za komunikację z bazą danych odpowiada pakiet DataManager (rys. 5.).
Pakiet Session zawiera klasy zarządzające sesjami w bazie danych (rys. 7.).
Rys. 5. Zawartość pakietu DataManager, klasy odpowiedzialne za komunikację z bazą danych
Rys. 6. Pakiet DaneDoForm zawiera tylko jedną klasę posiadającą tablice do formularzy
Rys. 7. Pakiet Session zawiera klasy zarządzające sesjami za pomocą bazy danych
Dzięki diagramom programy stają się bardziej przemyślane i zawierają znacznie mniej kodu, który w innym przypadku mógłby zostać powtórzony w wielu miejscach. Artykuł poruszył tylko podstawy języka UML, dlatego zapraszamy do zapoznania się z innymi artykułami poświęconymi tej samem tematyce.
Wybrane książki:
- Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski: Język UML 2.0 w modelowaniu systemów informatycznych, Wydawnictwo Helion, 2006.
- Edward Lecky-Thompson, Heow Eide-Goodman, Steven D. Nowicki, Alec Cove: PHP5 Zaawansowane programowanie, Wydawnictwo Helion, 2005.
- Bogdan Brinzarea-Iamandi, Cristian Darie, Audra Hendrix: AJAX i PHP. Tworzenie interaktywnych aplikacji internetowych. Wydanie II, Wydawnictwo Helion, 2011.
- Matt Zandstra: PHP. Obiekty, wzorce, narzędzia. Wydanie IV, Wydawnictwo Helion, 2014.