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.
Yanlış
Bölüm başlığı “Yanlış”package app.data.repository
import app.ui.visit.VisitUiState
class VisitRepositoryImpl { fun load(): VisitUiState = TODO() }package app.data.repository
import app.domain.model.Visit
class VisitRepositoryImpl { fun load(): Visit = TODO() } // the UI maps Visit to its own state