Middle+
Domeniyə yönəldilmiş dizayn (DDD) nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Domenə yönümlü dizayn (DDD) proqram təminatının inkişafına yönəlmiş yanaşmadır və bu, sahəni dərindən anlamağa və onu kodda modelləşdirməyə fokuslanır. Əsas məqsəd, biznes məntiqini dəqiq əks etdirən və sahədəki dəyişikliklərə asanlıqla uyğunlaşa bilən sistem yaratmaqdır.
DDD-nin əsas anlayışları:
- Ubiquitous Language (Ümumi Dil): Layihənin bütün iştirakçıları (inkişafçılar, sahə mütəxəssisləri, istifadəçilər) tərəfindən sahə haqqında danışıq üçün istifadə olunan ümumi dil. Bu dil daha sonra kodda əks olunur.
- Domain Model (Sahə Modeli): Biznes konseptlərini, əlaqələri və sahənin qaydalarını təmsil edən obyekt modeli.
- Bounded Context (Məhdud Kontekst): Sahə modelinin müəyyən mənası olan sərhədlərin açıq təyini. Fərqli kontekstlər eyni anlayış üçün fərqli modellərə sahib ola bilər.
- Aggregates (Toplamlar): Məlumatların uyğunluğunu təmin etmək üçün sahə ilə əlaqəli obyektlərin qrupudur. Toplamın kök obyekti (Root) var və bütün əməliyyatlar bu vasitəsilə həyata keçirilir.
- Entities (Varlıqlar): Ömrü boyunca unikal identifikatora sahib olan obyektlər, atributlardan müstəqil.
- Value Objects (Dəyər Ob'yektləri): Atributları ilə təyin olunan obyektlər və unikal identifikator ilə deyil. Onlar dəyişməzdir.
- Domain Events (Sahə Hadisələri): Sahədə baş verən və digər sistem hissələri üçün maraqlı ola biləcək vacib hadisələr.
- Repositories (Anbarlar): Toplamlar üçün məlumatlara giriş logikasını kapsülləyən obyektlər.
- Services (Xidmətlər): Təbii yeri olmayan əməliyyatlar, sahə xidmətləri və ya tətbiq xidmətləri ola bilər.
DDD tətbiqi, xüsusən mürəkkəb sahələr üçün daha anlaşılan, saxlanılan və çevik sistemlər yaratmağa kömək edir.