43
Wzorce projektowe w Magento

Wzorce projektowe w Magento

  • Upload
    divante

  • View
    395

  • Download
    0

Embed Size (px)

Citation preview

Wzorce projektowe w Magento

MVC - Model Widok Kontroler

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

MVC w MVC

Warstwa widoku w Magento implementuje sama w sobie wzorzec MVC.

M - blokiV - szablony .phtmlC - layouty (pliki .xml)

MVC w MVC

Modularność

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

0

Mała dygresja - Autoloader

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

Metoda fabrykująca w Magento

1

3

Metoda fabrykująca w Magento

1

4

Metoda fabrykująca w Magento

1

5

Co pod maską?

1

6

Co pod maską?

.....

1

7

Co pod maską?

Rejestr

Rejestr

Pozwala na umieszczenie obiektów i danych w globalnej puli, umożliwiając dostęp do nich z każdego miejsca w kodzie

2

0

Rejestr

Zdarzenie/Obserwator

2

2

Zdarzenie/Obserwator

2

3

Jak dodać własny obserwator?

2

4

Zdarzenie/Obserwator

2

5

Zdarzenie/Obserwator

2

6

Zdarzenie/Obserwator

Kontroler fasady

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

2

9

Kontroler fasady Magento

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?

3

1

Co mamy pod maską?

3

2

Co mamy pod maską?

3

3

Co mamy pod maską?

Prototyp

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

3

7

Wszystko staje się jasne

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ć

Prototyp na podstawie pokazanej fabryki abstrakcyjnej

3

9

Prototyp w Magento

4

0

Prototyp w Magento

4

1

Wzorców projektowych w Magento jest jeszcze więcej, zachęcam do ich

poznania :)

Dziękuję za uwagę

[email protected]