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

repository pattern php co to jest i do czego służy?

0 głosów
848 wizyt
pytanie zadane 2 grudnia 2021 w PHP przez Grzegorz Mikina Dyskutant (8,060 p.)
Jak w temacie. Spotkałem się z terminem Repozytorium ale nie rozumiem go do końca. Z drugiej strony spotkałem termin repository partern, ale to już tylko domysły. Szukałem w Internecie ale z tego też nie dużo rozumiem. Może ktoś pomóc naprowadzic na jakąś dokumentację?
komentarz 2 grudnia 2021 przez Michał Kazula Pasjonat (19,520 p.)
Repozytorium - miejsce do przechowywania, i teraz w zależności odnośnie czego się tyczy.

Patern - wzór, w rozumieniu wzorca czegoś. Jakiś standard w robieniu czegoś. Na przykład wzorce projektowe albo wzorce repozytorium.

1 odpowiedź

+1 głos
odpowiedź 2 grudnia 2021 przez Wiciorny Ekspert (283,500 p.)

 Zasadniczo zapewnia abstrakcję danych, dzięki czemu aplikacja może pracować z prostą abstrakcją, która ma interfejs przybliżający że z kolekcji. Dodawanie, usuwanie, aktualizowanie i wybieranie elementów z tej kolekcji odbywa się za pomocą szeregu prostych metod, bez konieczności zajmowania się problemami z bazą danych, takimi jak połączenia, polecenia, kursory lub czytniki. Korzystanie z tego wzorca może pomóc w osiągnięciu luźnego sprzężenia i może sprawić, że obiekty domeny będą ignorowane. 

Generalnie pojęcie luźnego wiązania to fakt, że zmiany w jednym komponencie najmniej wpływają na istnienie lub działanie innego komponentu.

Najprostszym podejściem, zwłaszcza w przypadku istniejącego systemu, jest utworzenie nowej implementacji repozytorium dla każdego obiektu biznesowego, który należy przechowywać w warstwie trwałości lub pobierać z niej. 

public interface IRepository<Typ> where Typ : BazowaEncja

Innym podejściem jest stworzenie prostego, ogólnego interfejsu dla Twojego repozytorium. Możesz ograniczyć typy, z którymi współpracuje, aby były określonego typu lub zaimplementować określony interfejs.

    Typ GetById(int id);
    IEnumerable<Typ > List();
    IEnumerable<Typ > List(Expression<Func<Typ , bool>> predicate);
    void Add(Typ  entity);
    void Delete(Typ  entity);
    void Edit(Typ  entity);

Zaletą tego podejścia jest zapewnienie wspólnego interfejsu do pracy z dowolnymi obiektami. To tylko przykładowy zestaw metod

Podobne pytania

0 głosów
1 odpowiedź 550 wizyt
pytanie zadane 30 sierpnia 2018 w PHP przez Gambr Dyskutant (7,530 p.)
0 głosów
1 odpowiedź 497 wizyt
pytanie zadane 7 sierpnia 2017 w HTML i CSS przez ayo1001 Obywatel (1,890 p.)
0 głosów
2 odpowiedzi 808 wizyt

93,777 zapytań

142,736 odpowiedzi

323,388 komentarzy

63,381 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...