DTO'ları Alan Modellerine Eşleme
Ağ biçimlerini alan türlerinizden ayırın.
DTO'ları Alan Modellerine Eşleme, CoddyKit'te ücretsiz bir Kotlin Multiplatform Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Multiplatform Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Multiplatform Academy kursu toplamda 4 dersten oluşur.
İki Tür Model
Uygulamanızda aslında iki veri biçimi vardır: API'den gelen ham DTO ve kodunuzun ihtiyaç duyduğu temiz alan modeli.
DTO Nedir
DTO, yani veri aktarım nesnesi, alan adları karmaşık veya elverişsiz olsa bile JSON'u olduğu gibi yansıtır.
@Serializable
data class UserDto(val user_name: String, val avatar_url: String?)DTO'ları Neden Doğrudan Kullanmayalım
Tüm uygulamanız DTO'ları kullanırsa küçük bir API değişikliği her yere yayılır. Alan modeli sizi bundan korur.
Alan Modeli
Alan modeli kodunuz için şekillendirilir: güzel adlar içerir, gereksiz nullable alanlar barındırmaz ve tam olarak kullanıcı arayüzünün ihtiyaç duyduğu alanları taşır.
data class User(val name: String, val avatar: String)Tek Bir İşlevde Eşleyin
DTO'yu alan modeline dönüştüren küçük bir eşleme işlevi yazın; her şey düzenli ve test edilebilir tek bir yerde bulunsun.
fun UserDto.toDomain() = User(name = user_name, avatar = avatar_url ?: "")Eşleme Sırasında Null Değerleri Ele Alın
Eşleme, varsayılan değerleri uygulamak için ideal yerdir; böylece eksik veya null JSON alanları uygulamanın geri kalanını çökertmez.
Listeleri de Eşleyin
Liste yanıtlarında, her DTO'yu tek seferde bir alan öğesine dönüştürmek için koleksiyon üzerinde map çağrısı yapın.
fun List<UserDto>.toDomain() = map { it.toDomain() }Bunu Repository'de Yapın
Repository DTO'ları alır ve ardından alan modellerine eşler; böylece çağıranlar yalnızca temiz türü görür.
override suspend fun getUsers() =
client.get(url).body<List<UserDto>>().toDomain()DTO'lar İçeride Kalır
DTO sınıflarını veri katmanında içeride tutun. Repository'nin dışındaki hiçbir şey bunları içe aktarmamalıdır.
Bağımsız ve Güvenli
Artık API bir alanı yeniden adlandırabilir; siz yalnızca eşleyiciyi düzeltirsiniz, alan modeli ve kullanıcı arayüzü etkilenmez.
Eşleme Katmanı
Sınırın işleyişi şöyledir: bir DTO gelir, eşleyici çalışır ve temiz bir alan modeli çıkar.
val dto: UserDto = client.get(url).body()
val user: User = dto.toDomain()Hızlı Kontrol
DTO'lar neden ayrı alan modellerine eşlenir?
Özet
DTO'lar ham JSON'u yansıtır ve veri katmanında kalır; bir eşleme işlevi ise bunları uygulamanın geri kalanının kullandığı temiz alan modellerine dönüştürür.
Yapay zeka eğitmeniyle Kotlin öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“DTO'ları Alan Modellerine Eşleme” dersi ücretsiz mi?
Evet — “DTO'ları Alan Modellerine Eşleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Multiplatform Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Multiplatform Academy kursu toplamda 4 dersten oluşur.
“DTO'ları Alan Modellerine Eşleme” dersinde ne öğreneceğim?
Ağ biçimlerini alan türlerinizden ayırın. Kotlin Multiplatform Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kotlin Multiplatform Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kotlin Multiplatform Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“DTO'ları Alan Modellerine Eşleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kotlin Multiplatform Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kotlin Multiplatform Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Bir Depo Arayüzü Tanımlama
- API'yi Deponun Ardında Sarmalama
- DTO'ları Alan Modellerine Eşleme
- Sonuçları Flow Olarak Dışa Açma