2013-05-17 18 views

Odpowiedz

7

Jeśli weźmiemy na przykład jedną tabelę db. Następnie:

  • Model będzie reprezentował jedną klasę wiersza, w której zmienne klasy będą kolumnami.
  • Podmiot jest tym samym pojęciem, co model używany przez Doctrine.
  • TableGateway jest parth z Table Gateway pattern. Będzie zawierał informacje o nazwie tabeli. To miejsce, w którym będą znajdować się wszystkie metody zapytań. Używany we wszystkich zf2 examples.
  • Mapper jest parth z wzoru Data Mapper. Jest to bardziej zaawansowany sposób radzenia sobie z tym samym problemem, co robi TableGateway.
  • Hydrator zmienia wybrane wyniki zapytania z tablicy na obiekt modelu. Jeśli nie zostanie podany, zf2 zamiast tego użyje ArrayObject.
1

Model może być jednostką, ale ściśle, model jest podmiotem z logiką biznesową wewnątrz. dla prostego systemu model jest bytem.

Mapper to metoda używana do radzenia sobie z utrwalaniem obiektów w RDBMS, to narzędzie do konwersji między obiektami i kolumnami wiersza.

Hydrator to narzędzie do wymiany danych między źródłem danych a obiektami (modelami lub jednostkami), źródłem danych może być RDBMS lub coś innego (usługa sieciowa, NoSQL itp.).

Twórcy map zawierają bardziej szczegółowe rozwiązania dotyczące utrzymywania przez RDBMS, takie jak Leniwe ładowanie, Buforowanie, transakcje i tak dalej.

TableGateway to abstrakty z tabelami DB, ale tabele często nie są trwałością obiektów realnego świata, zapewnia nam to sposób na dane relacji dostępu w stylu OOP.