Middle — Middle+
Vysvetlite, čo znamená skratka CQRS a ako sa používa v architektúre systémov
sobes.tech AI
Odpoveď od AI
CQRS (Rozdelenie zodpovednosti príkazu a dopytu) je vzor architektúry, ktorý oddelí operácie zmeny stavu (príkazy) od operácií čítania dát (dopyty).
Hlavná myšlienka:
- Príkazy (Commands) — operácie, ktoré menia stav systému (napríklad vytváranie, aktualizácia, mazanie dát).
- Dopyty (Queries) — operácie, ktoré iba čítajú dáta, bez ich zmeny.
Použitie CQRS umožňuje:
- optimalizovať čítanie a zápis samostatne, pomocou rôznych modelov dát alebo dokonca rôznych databáz.
- zjednodušiť škálovanie, pretože čítanie a zápis môžu škálovať nezávisle.
- zlepšiť bezpečnosť a kontrolu, rozlíšením práv na príkazy a dopyty.
Príklad v C#:
// Príkaz
public class CreateOrderCommand {
public int ProductId { get; set; }
public int Quantity { get; set; }
}
// Spracovateľ príkazu
public void Handle(CreateOrderCommand command) {
// Logika na vytvorenie objednávky
}
// Dopyt
public class GetOrderQuery {
public int OrderId { get; set; }
}
// Spracovateľ dopytu
public OrderDto Handle(GetOrderQuery query) {
// Logika na získanie dát objednávky
}
Týmto spôsobom CQRS pomáha rozdeľovať zodpovednosti a zvyšovať flexibilitu architektúry.