Senior
Ի՞նչ է DCI-ն։
sobes.tech AI
Պատասխան AI-ից
DCI (Data-Context-Interaction) — դա ճարտարապետական ձևաչափ է, որը բաժանում է համակարգը երեք հիմնական մասի՝
- Տվյալներ: Օբյեկտներ, որոնք ներկայացնում են դոմենի միավորներ (օրինակ՝
User,Account)։ Նրանք պարունակում են վիճակ, բայց չեն ճանաչում բիզնես տրամաբանությունը։ - Կոնտեքստ: Հավաքում է անհրաժեշտ տվյալները և կապում է դրանք դերերի հետ կոնկրետ գործարքում։ Կոնտեքստը գիտի, թե որ օբյեկտները խաղում են որ դերերը։
- Հարցազրույց: Դերեր, որոնք սահմանում են բիզնես տրամաբանությունը, որը կիրառվում է տվյալների վրա կոնտեքստում։ Կատարվող կոնկրետ գործողություններ, որոնք կարող են կատարվել տվյալների վրա որոշակի իրավիճակում։
DCI-ն կենտրոնանում է այն մասին, թե ինչպես մարդիկ մտածում են օբյեկտների փոխազդեցության մասին կոնկրետ սցենարում, ոչ միայն տվյալների կառուցվածքային կազմակերպության մասին։ Նրա նպատակն է դարձնել բիզնես տրամաբանությունը ավելի պարզ և հեշտ ընթերցվող։
Օրինակ՝ գումարի փոխանցում հաշիվների միջև։
- Տվյալներ:
Account(պայման՝ մնացորդ) - Կոնտեքստ: "Գումարի փոխանցում", որը կապում է երկու
Accountօբյեկտներ՝ դերերով՝ "Աղբյուր" և "Ստացող"։ - Հարցազրույց: դերեր՝ "Աղբյուր" (մեթոդ
withdraw) և "Ստացող" (մեթոդdeposit)։ Բիզնես տրամաբանություն՝ միջոցների առկայության ստուգում, մնացորդների փոփոխություն։
Հիմնական առավելությունները՝
- Կոդի ընթերցելիության բարելավում: Բիզնես տրամաբանությունը դառնում է ավելի արտահայտիչ և հեշտ հետևելի։
- Դոմենի ավելի լավ ըմբռնում: Մոդելը արտացոլում է իրական փոխազդեցությունները օբյեկտների միջև։
- Ավելին ճկունություն: Նոր փոխազդեցություններ կարելի է ավելացնել առանց առկա տվյալների օբյեկտների փոփոխության։
- Կրճատում է բարդությունը: Կենտրոնանում է կարճ, մեկուսացված գործարքների վրա։
DCI-ն կարող է իրականացվել տարբեր ծրագրավորման լեզուներով, թեև որոշ լեզուներ ավելի հարմար են դրա աջակցությանը (օրինակ՝ Scala traits-ով):