• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

"Odciążenie" wzorca repozytorium

0 głosów
78 wizyt
pytanie zadane 4 czerwca 2021 w PHP przez CSSoup Mądrala (6,450 p.)

Hej,

Czy poprawnym podejściem będzie stosowanie wzorca Repozytorium tylko do tego aby pobierać dane z bazy, a całą logikę tworzenia danych modeli wrzucić do serwisów? Przykładowo, mamy użytkownika, który jest tworzony przy użyciu UserService jednak pobieranie pojedynczego użytkownika, listy, przefiltrowanej listy itd. odbywa się przy pomocy UserReposiotry.

Robię tak ponieważ w mojej bazie mam dosyć rozbudowane relacje, a takie tworzenie użytkownika wykorzystuje kilka modeli mi.in adres, informacje osobowe itd. więc nie chcę tworzyć jednej wielkiej klasy Repozytorium, która robi dosłownie wszystko, więc chciałbym ograniczyć jej rolę jedynie do pobierania danych z bazy.

1 odpowiedź

+1 głos
odpowiedź 4 czerwca 2021 przez Wiciorny Ekspert (221,970 p.)
wybrane 6 czerwca 2021 przez CSSoup
 
Najlepsza

Czy poprawnym podejściem będzie stosowanie wzorca Repozytorium tylko do tego aby pobierać dane z bazy, a całą logikę tworzenia danych modeli wrzucić do serwisów

Repozytorium nie służy do umieszczania w nim logiki biznesowej, wiec to jest konieczne wręcz powiem. 
Repozytorium to warstwa Perzystencji i  dostępu do bazy danych, gdzie powinna stanowić jednolity interfejs komunikacji z bazą a warstwami wyższego rzędu. 

Logikę tworzenia danych modeli 

Logikę modeli tworzysz w klasach, encjach dla przykładu a nie w osobnych bytach. Serwis nie jest modelem w architekturze. a warstwą. 
Więc jak najbardziej dobrym rozwiązaniem jest podzielenie tego na odpowiednie warstwy z silną enkapsulacją tego co ma być w danej watswie, a tworząc INTERFEJS DOSTĘPU tylko ten niezbędny na zewnątrz- np do komunikacji. 

Podobne pytania

0 głosów
1 odpowiedź 73 wizyt
pytanie zadane 24 marca 2021 w JavaScript przez CSSoup Mądrala (6,450 p.)
0 głosów
2 odpowiedzi 109 wizyt
pytanie zadane 7 listopada 2020 w Algorytmy przez CSSoup Mądrala (6,450 p.)
0 głosów
2 odpowiedzi 129 wizyt
pytanie zadane 12 kwietnia 2021 w Android, Swift, Symbian przez theemperor Użytkownik (710 p.)

88,328 zapytań

136,921 odpowiedzi

305,575 komentarzy

58,599 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...