Senior
DCI nədir?
sobes.tech Süni İntellekt
AI-dan cavab
DCI (Data-Context-Interaction) — bu memarlıq nümunəsidir və sistemi üç əsas hissəyə bölür:
- Məlumatlar: Domen obyektlərini təmsil edən obyektlər (məsələn,
User,Account). Onlar vəziyyəti saxlayır, amma biznes məntiqini bilmir. - Kontext: Lazımi məlumatları toplayır və onları müəyyən bir əməliyyatda rollara bağlayır. Kontekst hansı obyektlərin hansı rolları oynadığını bilir.
- Əlaqə: Rollar, onlar kontekstdə məlumatlara tətbiq olunan biznes məntiqini müəyyən edir. Müəyyən bir vəziyyətdə məlumatlar üzərində həyata keçirilə bilən xüsusi hərəkətlər.
DCI, obyektlərin müəyyən bir ssenaridə necə qarşılıqlı əlaqədə olduğunu insanların necə düşündüyünə diqqət yetirir, yalnız məlumatların struktur təşkilatından çox. Bu, biznes məntiqini daha açıq və asan oxunaqlı etmək üçün nəzərdə tutulub.
Nümunə: Hesablar arasında pul köçürməsi.
- Məlumatlar:
Account(vəziyyət: balans) - Kontext: "Pul köçürməsi", iki
Accountobyektini "Mənbə" və "Qəbul edən" rolları ilə bağlayır. - Əlaqə: "Mənbə" rolları (
withdrawmetodu) və "Qəbul edən" rolları (depositmetodu). Biznes məntiqi: vəsaitlərin mövcudluğunu yoxlamaq, balansları dəyişdirmək.
DCI-nin əsas üstünlükləri:
- Kodun oxunaqlılığını yaxşılaşdırır: Biznes məntiqi daha ifadəli və izlənməsi asan olur.
- Domenin daha yaxşı başa düşülməsi: Pattern obyektlər arasında real qarşılıqlı əlaqələri əks etdirir.
- Daha çox elastiklik: Yeni qarşılıqlı əlaqələr mövcud məlumat obyektlərini dəyişdirmədən əlavə oluna bilər.
- Mürəkkəbliyin azaldılması: Qısa və izolyasiya olunmuş əməliyyatlara fokuslanır.
DCI müxtəlif proqramlaşdırma dilləri ilə həyata keçirilə bilər, bəzi dillər onun dəstəyinə daha uyğundur (məsələn, Scala traits ilə).