Junior
Εξηγήστε πώς είναι δομημένα τα πακέτα και τα modules στο Kotlin.
sobes.tech AI
Απάντηση από AI
Pakete përdoren për të organizuar kodin, për të parandaluar konflikte emrash dhe për të përmirësuar lexueshmërinë. Deklarohen me fjalën kyçe package në fillim të skedarit.
Modulet janë grupe burimesh Kotlin, skriptesh ndërtimi, burimesh dhe konfigurimesh të projektit. Përdoren për përpilim, ekzekutim, testim dhe shpërndarje. Në projektet IntelliJ IDEA, një modul i korrespondon një moduli IDE; në Gradle — një projekt kryesor ose nënprojekt.
Dallimet:
- Niveli i organizimit: Paketet në nivelin e burimeve të kodit, modulet në nivelin e ndërtimit të projektit.
- Qëllimi: Paketet për grupimin logjik të kodit, modulet për menaxhimin e varësive, ndërtimin dhe shpërndarjen.
- Hierarkia: Paketet formojnë një hierarki me pika (p.sh.,
com.example.util), modulet mund të kenë hierarki (nënprojektet në Gradle) ose të jenë të pavarur. - Varësitë: Varësitë tregohen midis moduleve, jo midis paketave.
Shembull i paketës:
// Skedari: Util.kt
package com.example.util
fun formatName(firstName: String, lastName: String): String {
return "$firstName $lastName"
}
Përdorimi i paketës:
package com.example.app
import com.example.util.formatName
fun main() {
val fullName = formatName("John", "Doe")
println(fullName)
}
Shembull i strukturës së projektit me module (Gradle):
myproject/
├── app/ // Moduli i aplikacionit
│ ├── build.gradle.kts
│ └── src/
│ └── main/kotlin/com/example/app/Main.kt
└── util/ // Moduli i utilities
├── build.gradle.kts
└── src/
└── main/kotlin/com/example/util/Util.kt
Në app/build.gradle.kts, do të tregtohet varësia nga moduli util:
// app/build.gradle.kts
plugins {
kotlin("jvm")
}
dependencies {
implementation(project(":util")) // Varësi nga moduli util
}