Middle
Bir tətbiqdə hər memarlıq qatına niyə ehtiyac var?
sobes.tech Süni İntellekt
AI-dan cavab
Memarlıq qatlamları məsuliyyətləri bölməyə, tətbiqin baxımını və test ediləbilənliyini yaxşılaşdırmağa kömək edir.
- Təqdimat Qatmanı: İstifadəçi interfeysinin göstərilməsi və onunla qarşılıqlı əlaqə üçün cavabdehdir. O, Domen Qatından məlumatları alır və onları təqdimat üçün çevrir. İstifadəçi hərəkətlərini Domen Qatına göndərir.
- Domen Qatmanı: Tətbiqin biznes məntiqini ehtiva edir. UI və infrastruktur detalları ilə müstəqildir. Varlıqlar, istifadə halları və interfeys kimi depozitləri əhatə edir.
- Varlıqlar: Əsas biznes obyektlərini təmsil edir.
- İstifadə Halları (Interactors): Tətbiqlə qarşılıqlı əlaqə ssenarilərini müəyyən edir. Müəyyən tapşırıqları yerinə yetirmək üçün depozitlər və varlıqların işini təşkil edir.
- Depozitlər (Interfeysler): Məlumatların alınması və saxlanması üçün müqavilələri müəyyən edir. İcra Data Qatında yerləşir.
- Data Qatmanı: Məlumatların alınması və saxlanması üçün cavabdehdir. Depozitlərin, məlumat mənbələrinin və məlumat modellərinin icrasını ehtiva edir.
- Depozit İcraları: Domen Qatında müəyyən edilmiş depozit interfeyslerini həyata keçirir.
- Məlumat Mənbələri: Müxtəlif məlumat mənbələrinə (API, yerli verilənlər bazası, paylaşılmış seçimlər və s.) giriş təmin edir.
- Modellər (DTOs): Məlumat mənbələri ilə əlaqə üçün istifadə olunan məlumat formatını təmsil edir və Domen Qatında olan varlıqlardan fərqlidir.
Qatlamaların strukturu nümunəsi:
lib/
├── main.dart
├── təqdimat/
│ ├── vidjetlər/
│ ├── səhifələr/
│ ├── bloklar/ // və ya digər vəziyyət idarəetmə
├── domen/
│ ├── varlıqlar/
│ ├── istifadəHalları/
│ ├── depozitlər/
├── məlumatlar/
│ ├── depozitlər/
│ ├── məlumatMənbələri/
│ ├── modellər/
Asılılıq sxemi:
Təqdimat Qatmanı -> Domen Qatmanı <- Məlumat Qatmanı. (Məlumat və Təqdimat Domenə bağlıdır, amma Domen kimsədən asılı deyil).