İçeriğe geç

Architecture contract (ARCH8204)

Anahtar kotlin.architecture.contract · Önem error · Kategori architecture

Katman yönüne, feature sınırına ya da projenin kendi mimari kurallarına aykırı bir import’u işaretler: feature/, features/ ya da slices/ altındaki bir feature’ın başka bir feature’ın davranışını (fonksiyonlu sınıf, object, fonksiyon - data class, enum ve interface’leri serbest) import etmesi; sunum katmanını import eden data, servis ya da domain kodu; data katmanının domain’ine bağlı olduğu bir modülde domain’in data katmanını import etmesi (Android mimari rehberindeki gibi use case’lerin data katmanını çağırdığı yerde bu tasarımın kendisidir); ya da Proje ayarları > Tarama’daki bir kuralın yasakladığı her import. İki Gradle modülü arasındaki bağımlılık build’de tanımlıdır ve yalnız sunum kuralına ve projenin kurallarına göre denetlenir. Paket adlarından okunur, sınıf adlarından değil.

app/src/main/kotlin/app/data/repository/VisitRepositoryImpl.kt
package app.data.repository
import app.ui.visit.VisitUiState
class VisitRepositoryImpl { fun load(): VisitUiState = TODO() }
app/src/main/kotlin/app/data/repository/VisitRepositoryImpl.kt
package app.data.repository
import app.domain.model.Visit
class VisitRepositoryImpl { fun load(): Visit = TODO() } // the UI maps Visit to its own state