Lekce 8 - E-shop v ASP.NET - Základ - Repository
V minulé lekci, E-shop v ASP.NET - Základ - Relace produktů a kategorií, jsme nastavili relace mezi entitami pro produkty a kategorie a vložili testovací data.
Dnes se v ASP.NET Core tutoriálu podíváme na jednu z možných implementací návrhového vzoru Repository.
Budeme zase pracovat pouze v datové vrstvě,
tedy v projektu Eshop.Data
.
Smyslem návrhového vzoru Repository je mít všechny operace s daty na jednom místě aplikace a také odstínit ostatní vrstvy od implementace úložiště. V kombinaci s používáním rozhraní a nějakým Dependency Injection frameworkem pak lze například jednoduše nahradit úložiště bez jakýchkoliv zásahů ve vyšších vrstvách aplikace. Navíc je možné také aplikace lépe testovat pomocí automatických testů.
Třídám, které zajišťují práci s daty v úložišti, se říká repositáře (repositories).
Společný základ
Protože základní metody pro práci s daty budou pro všechny entity
stejné, můžeme vytvořit společný základ repositářů jako
generickou abstraktní třídu. Vzhledem ke generickému Entity
Frameworku můžeme tyto metody rovnou implementovat. Nejprve si vytvoříme
rozhraní IRepository
, které implementujeme v novém repositáři
BaseRepository
.
Rozhraní IRepository
Do datové vrstvy přidáme složku Interfaces/
. Do této
složky přidáme generické rozhraní
IRepository<TEntity>
. V rozhraní IRepository
předepíšeme hlavičky metod reprezentující CRUD operace
(tedy Create, Read, Update, Delete):
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium no-reselling II, koupí článku souhlasíš se smluvními podmínkami.
Komerční článek (licence no-reselling)
Tento článek vznikl na základě mnohaletých zkušeností v oboru a popisuje vývoj profesionálního komerčního produktu nebo jeho součásti, kterou lze přímo využít za účelem zisku nebo proniknutí do komerční sféry IT odvětví.
Tyto vrcholové znalosti zpřístupňujeme samozřejmě pouze některým členům komunity, kteří se mají zájem vypracovat na profesionály v oboru a proto jsou k dispozici pouze za kredity. Kód z článku můžete použít pro jeden svůj komerční projekt. Není ho však možné přeprodávat (jednou zakoupit a poté prodat dále v několika projektech). Pokud potřebujete širší využití kódu, rádi se s vámi domluvíme na komerční licenci. Více informací naleznete v článku Licence.
Jste připraveni stát se profesionály v oboru? Stačí kliknout.
Popis článku
Požadovaný článek má následující obsah:
V ASP.NET Core tutoriálu implementujeme návrhový vzor Repository. Vytvoříme si první repositáře pro produkty a kategorie.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.