• 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?

Object Storage Arubacloud
0 głosów
416 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,540 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 (269,790 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ź 346 wizyt
pytanie zadane 30 sierpnia 2018 w PHP przez Gambr Dyskutant (7,530 p.)
0 głosów
1 odpowiedź 272 wizyt
pytanie zadane 7 sierpnia 2017 w HTML i CSS przez ayo1001 Obywatel (1,890 p.)
0 głosów
2 odpowiedzi 318 wizyt

92,568 zapytań

141,420 odpowiedzi

319,623 komentarzy

61,956 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...