wzorce projektowe w magento
TRANSCRIPT
3
• Podział na 3 główne części aplikacji:
• Model - reprezentuje logikę aplikacji
• Widok - opisuje jak wyświetlić dane w ramach interfejsu użytkownika
• Kontroler - przyjmuje dane wejściowe od użytkownika, aktualizuje model i odświeża widok
MVC
MVC w MVC
Warstwa widoku w Magento implementuje sama w sobie wzorzec MVC.
M - blokiV - szablony .phtmlC - layouty (pliki .xml)
8
• Wzorzec nakazuje grupowanie poszczególnych funkcjonalności w projekcie w moduły
• Moduły nie powinny wymagać innych modułów do poprawnego działania
• Wzorzec określa strukturę katalogów w obrębie katalogu nadrzędnego modułu
Modularność
9
• Autoloader Magento ma z góry ustalone priorytety przeszukiwania
• Struktura podkatalogów nie jest tylko kwestią konwencji.
• Nazwa klasy w Magento odzwierciedla jego ścieżkę dostępu
• Poszczególne składowe Modułu należy jawnie zadeklarować w pliku konfiguracyjnym modułu
Modularność w Magento
1
1
Mała dygresja - Autoloader
Autoloader jest wywoływany w momencie konkretyzacji klasy chyba, że w pamięci
znajduje się już obiekt danej klasy - plik został już wcześniej załączony
Rejestr
Pozwala na umieszczenie obiektów i danych w globalnej puli, umożliwiając dostęp do nich z każdego miejsca w kodzie
Kontroler Fasady
Stanowi furtkę wejściową dla wszystkich żądań kierowanych pod adresem działających aplikacji.Składa się z dwóch części:• web handler - parsuje
adres url i decyduje jaki kontroler ma zostać utworzony
• command dispatch -tworzy obiekt kontrolera i przekazuje żądanie
3
0
Kontroler fasady ma za zadanie przyjąć żądanie i zdecydować co z nim zrobić. Czy rzeczywiście to wszystko dzieje się w pliku Index.php?
Czy aby napewno?
Prototyp
Wzorzec Prototyp jest niejako rozwinięciem wzorca Fabryka abstrakcyjna. Ponieważ nie był jeszcze omawiany, krótko o nim
Mała dygresja - fabryka abstrakcyjna
Definiuje zestaw klas wytwórczych
dziedziczących po abstrakcyjnej klasie
nadrzędnej (fabryce ), które specjalizują się w
tworzeniu grup obiektów z jednej rodziny
Prototyp
Jest wariacją wzorca Fabryka abstrakcyjnaPozwala ograniczyć ilość wytwórców poprzez utworzenie generycznego wytwórcy, któremu przekazujemy typy obiektów jakie ma wyprodukować