Sobes.tech
Senior

Mis on DCI?

sobes.tech AI

Vastus AI-lt

DCI (Andmed-Kontext-Interaktsioon) — see on arhitektuurimuster, mis jagab süsteemi kolme põhiosa:

  • Andmed: Objektid, mis esindavad domeeniüksusi (näiteks User, Account). Nad sisaldavad olekut, kuid ei tea äriloogikast.
  • Kontekst: Kogub vajalikud andmed ja seob need rollidega konkreetses tehingus. Kontekst teab, millised objektid mängivad milliseid rolle.
  • Interaktsioon: Rollid, mis määratlevad äriloogika, mida andmete üle kontekstis teostatakse. Konkreetseid tegevusi, mida andmetega saab teha teatud olukorras.

DCI keskendub sellele, kuidas reaalsed inimesed mõtlevad objektide vahelistest suhetest teatud stsenaariumis, mitte ainult andmete struktuursed korraldusest. Selle eesmärk on muuta äriloogika selgemaks ja kergemini loetavaks.

Näide: rahaülekanne kontode vahel.

  • Andmed: Account (olek: saldo)
  • Kontekst: "Rahaülekanne", mis seob kaks Account objekti rollidega "Allikas" ja "Saaja".
  • Interaktsioon: Rollid "Allikas" (meetod withdraw) ja "Saaja" (meetod deposit). Ärilogika: vahendite kontroll, saldo muutmine.

DCI peamised eelised:

  • Paranenud koodi loetavus: Ärilogika muutub selgemaks ja jälgitavamaks.
  • Parema domeeni mõistmine: Muster peegeldab reaalseid objektidevahelisi suhteid.
  • Suurem paindlikkus: Uued suhted saab lisada ilma olemasolevaid andmeobjekte muutmata.
  • Vähendatud keerukus: Keskendub lühikestele, isoleeritud tehingutele.

DCI võib olla rakendatud erinevate programmeerimiskeeltega, kuigi mõned keeled sobivad selle toetamiseks paremini (näiteks Scala trait'idega).