Sobes.tech
Senior

Kas yra DCI?

sobes.tech AI

Atsakymas iš AI

DCI (Duomenys-Kontextas-Veiksmingumas) — tai architektūros modelis, kuris skiria sistemą į tris pagrindines dalis:

  • Duomenys: Objektai, atstovaujantys domeno subjektus (pvz., User, Account). Jie turi būseną, bet nežino apie verslo logiką.
  • Kontextas: Surenka reikalingus duomenis ir susieja juos su vaidmenimis konkrečioje operacijoje. Kontekstas žino, kurie objektai vaidina kokius vaidmenis.
  • Veiksmingumas: Vaidmenys, kurie apibrėžia verslo logiką, vykdomą duomenų kontekste. Konkretūs veiksmai, kurie gali būti atliekami su duomenimis tam tikroje situacijoje.

DCI sutelkiamas į tai, kaip realūs žmonės mąsto apie objektų sąveiką tam tikrame scenarijuje, o ne tik į struktūrinę duomenų organizaciją. Jis siekia padaryti verslo logiką aiškesnę ir lengviau skaitomą.

Pavyzdys: pinigų pervedimas tarp sąskaitų.

  • Duomenys: Account (būsena: balansas)
  • Kontextas: "Pinigų pervedimas", kuris susieja du Account objektus su vaidmenimis "Šaltinis" ir "Gavėjas".
  • Veiksmingumas: Vaidmenys "Šaltinis" (metodas withdraw) ir "Gavėjas" (metodas deposit). Verslo logika: patikrinimas, ar yra pakankamai lėšų, balanso keitimas.

Pagrindiniai DCI privalumai:

  • Pagerinta kodo skaitomumas: Verslo logika tampa aiškesnė ir lengviau stebima.
  • Geriau suprantamas domenas: Modelis atspindi realius objektų sąveikas.
  • Padidintas lankstumas: Nauji sąveikos būdai gali būti pridėti be esamų duomenų objektų keitimo.
  • Sumažinta sudėtingumas: Koncentruojasi į trumpas, izoliuotas operacijas.

DCI gali būti įgyvendintas naudojant įvairias programavimo kalbas, nors kai kurios kalbos geriau tinka jo palaikymui (pvz., Scala su trait'ais).