NADHARIA YA MODULE KATIKA KOTLIN


? 1. MAANA YA MODULE NI NINI?

Module ni kitengo kikubwa cha mantiki katika mfumo wa programu, kinachojitegemea kiasi na kinaweza kujengwa, kujaribiwa, na kutumika kwa kujitegemea au kushirikiana na modules nyingine.

Kwa lugha nyepesi:


? 2. MALENGO YA KUTUMIA MODULE


? 3. VIPENGELE VYA MODULE

Kila module inaweza kuwa na:


? 4. TOFAUTI KATI YA PACKAGE, MODULE NA LIBRARY

Kitu Maelezo
Package Kikundi cha files/functions ndani ya module
Module Kitengo kinachojitegemea chenye packages nyingi
Library Kawaida ni module iliyoandaliwa kwa matumizi ya nje

? 5. AINA ZA MODULES

1. Application Module

2. Library Module

3. Test Module

4. Multiplatform Module


✍️ 6. MFANO WA STRUKTURA YA MODULE

MyProject/
├── app/                    ← Application Module
│   └── src/
│   └── build.gradle.kts
│
├── data/                   ← Library Module (data layer)
│   └── src/
│   └── build.gradle.kts
│
├── domain/                ← Library Module (business logic)
│   └── src/
│   └── build.gradle.kts
│
└── settings.gradle.kts    ← Inajumuisha modules zote

?️ 7. JINSI YA KUUNDA MODULE (kwa mkono au kwa IDE)

A. Kwa kutumia Android Studio / IntelliJ:

  1. Right-click kwenye root → New → Module

  2. Chagua aina ya module (Java/Kotlin Library, Android Library, etc.)

  3. Andika jina la module

  4. Module mpya itaonekana kwenye tree yako

B. Kwa kutumia faili za gradle (manually):

1. Unda folder mpya:

mkdir myutils
cd myutils
mkdir -p src/main/kotlin/com/example/utils

2. Ongeza build.gradle.kts:

plugins {
    kotlin("jvm") version "1.9.0"
}

dependencies {
    implementation(kotlin("stdlib"))
}

3. Sasisha settings.gradle.kts ya project kuu:

include(":myutils")

4. Tumia kwenye module kuu:

dependencies {
    implementation(project(":myutils"))
}

? 8. UHUSIANO KATI YA MODULES

Modules zinaweza:


? 9. FAIDA ZA KUTUMIA MODULES

Faida Maelezo
Kupunguza mgongano wa code Kila module ina domain yake
Reusability Module moja inaweza kutumiwa kwenye project nyingi
Utendaji bora wa build Build system hujenga module zilizoathirika tu
Testing ya sehemu ndogo Unaweza kujaribu module pekee
Team collaboration Timu inaweza kugawanyika kwenye modules tofauti

? 10. USHAURI WA KIMATENDO


✅ HITIMISHO

Kipengele Ufafanuzi Mfupi
Module Kitengo huru cha code kinachoweza kutumika tena
Hujumuisha Packages, resources, build scripts
Aina Application, Library, Test, Multiplatform
Faida Reusability, maintainability, testing rahisi
Tofauti Module ≠ package, ila module huwa na packages