mirror of https://github.com/abpframework/abp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.8 KiB
33 lines
1.8 KiB
# Domain Driven Design
|
|
|
|
## Co je DDD?
|
|
|
|
ABP framework poskytuje **infrastrukturu**, která zjednodušuje implementaci vývoje založeného na **DDD**. DDD je [definován ve Wikipedii](https://en.wikipedia.org/wiki/Domain-driven_design) takto:
|
|
|
|
> **Domain-driven design** (**DDD**) je přístup k vývoji softwaru pro komplexní potřeby propojením implementace s vyvíjejícím se modelem. Předpoklad DDD je následující:
|
|
>
|
|
> - Primární zaměření projektu je na jádře domény a doménové logice;
|
|
> - Zakládání komplexních návrhů na modelu domény;
|
|
> - Iniciování tvůrčí spolupráce mezi technickými a doménovými odborníky s cílem iterativně zdokonalit koncepční model, který řeší konkrétní problémy v doméně.
|
|
|
|
### Vrstvy
|
|
|
|
ABP dodržuje principy a vzorce DDD pro dosažení vrstveného aplikačního modelu, který se skládá ze čtyř základních vrstev:
|
|
|
|
- **Prezentační vrstva**: Poskytuje uživateli rozhraní. Používá *Aplikační vrstvu* k dosažení uživatelských interakcí.
|
|
- **Aplikační vrstva**: Prostředník mezi prezentační a doménovou vrstvou. Instrumentuje business objekty k provádění specifických úloh aplikace. Implementuje případy použití jako logiku aplikace.
|
|
- **Doménová vrstva**: Zahrnuje business objekty a jejich business pravidla. Je jádrem aplikace.
|
|
- **Vrstva infrastruktury**: Poskytuje obecné technické možnosti, které podporují vyšší vrstvy většinou pomocí knihoven třetích stran.
|
|
|
|
## Obsah
|
|
|
|
* **Doménová vrstva**
|
|
* [Entity & agregované kořeny](Entities.md)
|
|
* Hodnotové objekty
|
|
* [Repozitáře](Repositories.md)
|
|
* Doménové služby
|
|
* Specifikace
|
|
* **Aplikační vrstva**
|
|
* [Aplikační služby](Application-Services.md)
|
|
* [Objekty přenosu dat (DTOs)](Data-Transfer-Objects.md)
|
|
* Jednotka práce |