Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Domain drive design, pytanie o agregaty
coolos
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 15.04.2009

Ostrzeżenie: (0%)
-----


Witam,

Mam mały problem odnośnie rozplanowania klasy NEWS (klasy aktualności) oraz klasy NEWS_CATEGORY (kategorii aktualności).

Jako że:
- news posiada jedną kategorię do której może być przypisany,
- jedna kategoria posiada wiele newsów czyli zachodzi relacja jeden do wielu.

nie wiem czy agragetem głównym "aggregate root" w tym przypadku będzie klasa NEWS czy też NEWS_CATEGORY.

Myślę że powinno to wyglądać mniej więcej tak jak poniżej ale pewien nie jestem:

  1. class NEWS{
  2.  
  3. //jakies pola opisujace newsa
  4. private $id;
  5. private $title;
  6.  
  7. //tutaj agregat kategorii
  8. private $category;
  9. }
  10.  
  11.  
  12. class NEWS_CATEGORY{
  13. //jakies pola opisujace kategorie
  14. private $id;
  15. private $name;
  16.  
  17. //tutaj kolekcja newsow
  18. private $news_collection;
  19. }


Nie wiem też czy lepiej tworzyć repozytorium zarówno dla newsów jak i kategorii czy też stworzyć wspólne (podobnie ma się sprawa z fabryką). Wydaje mi się że skoro kateogie newsów tyczą się wyłącznie newsów to można zrobić wspólne repozytorium.

Liczę na jakieś wskazówki,
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
coolos
post
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 15.04.2009

Ostrzeżenie: (0%)
-----


Szkoda że właściwie nie ma żadnego dobrego artykułu w internecie który na przykładzie jakiegoś systemu newsów lub czegoś podobnego wyjaśniałby zasadę funkcjonowania DDD.

Najlepsze na jakie trafiłem to te poniżej:
- http://www.typo3-media.com/blog/mvc-news-example.html za ukazanie ciekawego modelu dziedziny.
- http://blog.fedecarg.com/2009/03/11/domain...-architectures/ chyba najlepszy art. w internecie na ten temat.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 03:14