Senior
Co je DCI?
sobes.tech AI
Odpověď od AI
DCI (Data-Context-Interaction) je architektonický vzor, ktorý rozdeľuje systém na tri hlavné časti:
- Dáta: Objektové reprezentácie entít domény (napríklad
User,Account). Obsahujú stav, ale nepoznajú obchodnú logiku. - Kontext: Zhromažďuje potrebné dáta a spája ich s rolami v konkrétnej transakcii. Kontext vie, ktoré objekty hrajú aké role.
- Interakcia: Role, ktoré definujú obchodnú logiku aplikovanú na dáta v kontexte. Konkrétne akcie, ktoré môžu byť vykonané na dáta v určitej situácii.
DCI sa zameriava na to, ako ľudia myslia na interakciu objektov v určitom scenári, nie len na štrukturálnu organizáciu dát. Jeho cieľom je spraviť obchodnú logiku jasnejšou a ľahšie čitateľnou.
Príklad: Prenos peňazí medzi účtami.
- Dáta:
Account(stav: zostatok) - Kontext: "Prenos peňazí", ktorý spája dva objekty
Accounts rolami "Zdroj" a "Príjemca". - Interakcia: Role "Zdroj" (metóda
withdraw) a "Príjemca" (metódadeposit). Obchodná logika: kontrola dostupných prostriedkov, zmena zostatkov.
Hlavné výhody DCI:
- Lepšia čitateľnosť kódu: Obchodná logika sa stáva viac výstižnou a ľahko sledovateľnou.
- Lepšie pochopenie domény: Vzor odráža skutočné interakcie medzi objektmi.
- Väčšia flexibilita: Nové interakcie môžu byť pridané bez zmeny existujúcich dátových objektov.
- Zníženie zložitosti: Zameriava sa na krátke, izolované transakcie.
DCI môže byť implementované s rôznymi programovacími jazykmi, hoci niektoré jazyky sú na jeho podporu vhodnejšie (napríklad Scala s traits).