Sobes.tech
Senior

Ի՞նչ է DCI-ն։

sobes.tech AI

Պատասխան AI-ից

DCI (Data-Context-Interaction) — դա ճարտարապետական ձևաչափ է, որը բաժանում է համակարգը երեք հիմնական մասի՝

  • Տվյալներ: Օբյեկտներ, որոնք ներկայացնում են դոմենի միավորներ (օրինակ՝ User, Account)։ Նրանք պարունակում են վիճակ, բայց չեն ճանաչում բիզնես տրամաբանությունը։
  • Կոնտեքստ: Հավաքում է անհրաժեշտ տվյալները և կապում է դրանք դերերի հետ կոնկրետ գործարքում։ Կոնտեքստը գիտի, թե որ օբյեկտները խաղում են որ դերերը։
  • Հարցազրույց: Դերեր, որոնք սահմանում են բիզնես տրամաբանությունը, որը կիրառվում է տվյալների վրա կոնտեքստում։ Կատարվող կոնկրետ գործողություններ, որոնք կարող են կատարվել տվյալների վրա որոշակի իրավիճակում։

DCI-ն կենտրոնանում է այն մասին, թե ինչպես մարդիկ մտածում են օբյեկտների փոխազդեցության մասին կոնկրետ սցենարում, ոչ միայն տվյալների կառուցվածքային կազմակերպության մասին։ Նրա նպատակն է դարձնել բիզնես տրամաբանությունը ավելի պարզ և հեշտ ընթերցվող։

Օրինակ՝ գումարի փոխանցում հաշիվների միջև։

  • Տվյալներ: Account (պայման՝ մնացորդ)
  • Կոնտեքստ: "Գումարի փոխանցում", որը կապում է երկու Account օբյեկտներ՝ դերերով՝ "Աղբյուր" և "Ստացող"։
  • Հարցազրույց: դերեր՝ "Աղբյուր" (մեթոդ withdraw) և "Ստացող" (մեթոդ deposit)։ Բիզնես տրամաբանություն՝ միջոցների առկայության ստուգում, մնացորդների փոփոխություն։

Հիմնական առավելությունները՝

  • Կոդի ընթերցելիության բարելավում: Բիզնես տրամաբանությունը դառնում է ավելի արտահայտիչ և հեշտ հետևելի։
  • Դոմենի ավելի լավ ըմբռնում: Մոդելը արտացոլում է իրական փոխազդեցությունները օբյեկտների միջև։
  • Ավելին ճկունություն: Նոր փոխազդեցություններ կարելի է ավելացնել առանց առկա տվյալների օբյեկտների փոփոխության։
  • Կրճատում է բարդությունը: Կենտրոնանում է կարճ, մեկուսացված գործարքների վրա։

DCI-ն կարող է իրականացվել տարբեր ծրագրավորման լեզուներով, թեև որոշ լեզուներ ավելի հարմար են դրա աջակցությանը (օրինակ՝ Scala traits-ով):