Sobes.tech
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).