Middle
Tətbiq inkişafı kontekstində çoxmodulluluq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Modulyarlıq — bu arxitektura yanaşmasıdır ki, burada tətbiq kiçik və müstəqil modullara bölünür. Hər modul tətbiqin müəyyən funksionallığından və ya qatından məsuliyyət daşıyır.
Modulyarlıq arxitekturasının üstünlükləri:
- Kodun daha yaxşı təşkili: Məntiqi əlaqəli tətbiq hissələri ayrı modullarda qruplaşdırılır, bu da naviqasiyanı və layihənin strukturunu anlamağı asanlaşdırır.
- Yığmanın sürətləndirilməsi: Bir moduldakı dəyişikliklər yalnız həmin modulun və ondan asılı olanların yenidən tərtib olunmasını tələb edir, bütün layihənin yox.
- Təkrar istifadə imkanlarının artırılması: Ümumi funksionallığa malik modullar (məsələn, UI komponentləri, utilitlər) tətbiqin müxtəlif hissələrində və ya digər layihələrdə asanlıqla istifadə oluna bilər.
- Testlərin asanlaşdırılması: Hər modul müstəqil şəkildə test edilə bilər, bu da testlərin yazılmasını və dəstəyini sadələşdirir.
- Daha yaxşı miqyaslama: Komanda müxtəlif modullar üzərində paralel işləyə bilər, bu da münaqişə riskini azaldır.
- Asılılıqların izolyasiyası: Modullar bir-birinə açıq asılılıqlara malikdir, bu da tətbiqin strukturunu şəffaf edir və gözlənilməz dəyişikliklərin riskini azaldır.
Android tətbiqində modulların növlərinə nümunələr:
app(əsas modul)feature-login(giriş funksionallığı üçün modul)feature-profile(istifadəçi profili üçün modul)data(məlumatlarla işləmək üçün modul)domain(biznes məntiqi üçün modul)common-ui(ümumi UI komponentləri ilə modul)utils(ümumi utilitlər ilə modul)
Əksər hallarda, modullar build.gradle fayllarında elan olunan asılılıqlar vasitəsilə əlaqələndirilir:
// build.gradle (Modul: app)
dependencies {
// Əsas modulun digər modullara asılılığı
implementation project(':feature-login')
implementation project(':feature-profile')
implementation project(':data')
}
// build.gradle (Modul: feature-login)
dependencies {
// Funksional modulun məlumat və utilitlər modulları ilə asılılığı
implementation project(':data')
implementation project(':utils')
}