Sobes.tech
Senior

Čo je DCI?

sobes.tech AI

Odpoveď od AI

DCI (Data-Context-Interaction) je arhitektonski vzorec, ki deli sistem na tri glavne dele:

  • Podatki: Objekti, ki predstavljajo entitete domene (npr., User, Account). Vsebujejo stanje, vendar ne poznajo poslovne logike.
  • Kontekst: Zbere potrebne podatke in jih poveže z vlogami v določeni transakciji. Kontekst ve, kateri objekti igrajo katere vloge.
  • Interakcija: Vloge, ki definirajo poslovno logiko, ki se uporablja na podatkih v kontekstu. Konkretne akcije, ki jih je mogoče izvesti na podatkih v določeni situaciji.

DCI se osredotoča na to, kako ljudje razmišljajo o interakciji objektov v določenem scenariju, ne le na strukturno organizacijo podatkov. Cilj je narediti poslovno logiko bolj jasno in lahko berljivo.

Primer: Prenos denarja med računi.

  • Podatki: Account (stanje: bilanca)
  • Kontekst: "Prenos denarja", ki povezuje dva objekta Account z vlogami "Vir" in "Prejemnik".
  • Interakcija: Vloge "Vir" (metoda withdraw) in "Prejemnik" (metoda deposit). Poslovna logika: preverjanje razpoložljivih sredstev, sprememba bilanc.

Glavne prednosti DCI:

  • Bolj berljiva koda: Poslovna logika postane bolj izrazita in enostavna za sledenje.
  • Boljše razumevanje domene: Vzorec odraža resnične interakcije med objekti.
  • Večja prilagodljivost: Nove interakcije je mogoče dodati brez spreminjanja obstoječih podatkovnih objektov.
  • Zmanjšanje kompleksnosti: Osredotoča se na kratke, izolirane transakcije.

DCI je mogoče implementirati z različnimi programskimi jeziki, čeprav so nekateri jeziki bolj primerni za njegovo podporo (npr., Scala s traits).