Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Organizacja warstwy modelu we wzorcu MVC, Warstwa logiki biznesowej i danych w Zend Framework
Martio
post 11.02.2008, 18:33:07
Post #1





Grupa: Zablokowani
Postów: 167
Pomógł: 2
Dołączył: 15.02.2004

Ostrzeżenie: (30%)
XX---


Wiele frameworków implementuje wzorzec korporacyjny Model-View-Controller (MVC). Chciałem zagadnąć o jednej z tych warstw, a dokładniej o "modelu". Problem omawiam na przykładzie frameworka "Zend Framework", ale jest na tyle ogólny (a raczej bardziej koncepcyjny), że nie należy sugerować się konkretnym rozwiązaniem.

W "Zend Framework" zastosowano wzorzec Table Data Gateway oraz Row Data Gateway. W związku z tym zastanawiam się jak zorganizować modele, by podzielić warstwę modelu na dwie mniejsze: warstwę logiki biznesowej i warstwę danych.

Jako wzorzec logiki dziedziny w warstwie logiki biznesowej chciałbym zastosować wzorzec Domain Model dla obiektowego odwzorowania elementów czy pewnych czynników, które będą zawierać dane i czynności, np.:

  1. <?php
  2. $firma = new Firma();
  3. $firma->nazwa = "Moja firma";
  4.  
  5. $katalog = new Katalog();
  6. $katalog->nazwa = "Moje ulubione firmy";
  7. $katalog->dodajFirmeDoKatalogu($firma);
  8. ?>


Natomiast jako wzorzec architektury źródła danych w warstwie danych... no właśnie, co? Martin Fowler w swojej książce "Patterns of Enterprise Application Architecture" proponuje jako najrozsądniejsze rozwiązanie użycie wzorca Data Mapper:

  1. <?php
  2. $mapper->update($katalog);
  3. ?>


Chciałbym jednak wykorzystać bibliotekę "Zend_Db_Table" implementującą wzorce Table Data Gateway i Row Data Gateway. I teraz jak się za to zabrać? A druga sprawa jak zorganizować strukturę katalogów dla takiego podziału modelu w aplikacji?
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 10:18