Klasy danych dla domeny
Niemutowalne współdzielone modele z copy i equals bez dodatkowej pracy
Klasy danych dla domeny to bezpłatna lekcja Kotlin Multiplatform Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Kotlin Multiplatform Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.
Domena potrzebuje modeli
Każda aplikacja opisuje rzeczywiste obiekty, takie jak użytkownicy, zamówienia czy utwory. W KMP można zamodelować je raz za pomocą współdzielonych data classes.
Poznaj klasę data
Klasa danych to niewielki typ służący do przechowywania wartości. Należy dodać słowo kluczowe i wypisać właściwości w nagłówku.
data class User(val id: Int, val name: String)Znajduje się w commonMain
Umieść swój model w commonMain, a aplikacje na Androida i iOS zobaczą dokładnie tę samą strukturę bez powielania kodu.
// shared/src/commonMain
data class User(val id: Int, val name: String)Utwórz instancję
Zbuduj model, wywołując go jak funkcję i przekazując każdą wartość. Obiekt będzie teraz przenosić Twoje dane w całej aplikacji.
val ada = User(id = 1, name = "Ada")Odczytuj właściwości
Uzyskaj dostęp do dowolnego pola za pomocą kropki. Odczytywanie właściwości działa tak samo we współdzielonym kodzie, na Androidzie i iOS.
val label = ada.name + " #" + ada.idBezpłatne toString
Klasa danych automatycznie generuje czytelne toString, dzięki czemu wypisanie modelu pokazuje jego wartości zamiast zagadkowego adresu.
println(ada) // User(id=1, name=Ada)equals oparte na wartościach
Dwa modele z takimi samymi polami są uznawane za równe. Klasy danych są porównywane na podstawie zawartości, a nie tożsamości w pamięci.
User(1, "Ada") == User(1, "Ada") // trueKopiowanie ze zmianami
Bezpłatna funkcja copy klonuje model, nadpisując tylko wskazane pola i pozostawiając oryginał bez zmian.
val renamed = ada.copy(name = "Grace")Preferuj niezmienne val
Deklaruj pola jako val, aby model nie mógł się zmienić po utworzeniu. Niezmienne dane są bezpieczniejsze podczas współdzielenia między platformami.
data class Song(val title: String, val seconds: Int)Łącz modele
Model może przechowywać inne modele jako pola, co pozwala zagnieżdżać klasy danych i odzwierciedlać rzeczywiste zależności w domenie.
data class Playlist(val owner: User, val songs: List<Song>)Dlaczego to ma znaczenie
Jeden współdzielony model oznacza, że Android i iOS nigdy nie będą mieć różnych struktur danych, co eliminuje całą klasę błędów. 🙂
Szybkie sprawdzenie
Jaką bezpłatną funkcję zapewniła tutaj klasa danych?
Podsumowanie
Współdzielone klasy danych w commonMain zapewniają bezpłatnie copy, equals i toString, dzięki czemu domenę modelujesz raz dla obu aplikacji.
Często zadawane pytania
Czy lekcja „Klasy danych dla domeny” jest bezpłatna?
Tak — pełny tekst „Klasy danych dla domeny” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Kotlin Multiplatform Academy, przejdź na CoddyKit PRO. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Klasy danych dla domeny”?
Niemutowalne współdzielone modele z copy i equals bez dodatkowej pracy Ćwiczysz Kotlin Multiplatform Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Kotlin Multiplatform Academy?
Nie wymagamy żadnego doświadczenia. Kotlin Multiplatform Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Klasy danych dla domeny”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Kotlin Multiplatform Academy?
Tak. Każda lekcja Kotlin Multiplatform Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Klasy danych dla domeny
- Enumy i klasy sealed do obsługi stanu
- Bezpieczeństwo wartości null we współdzielonych modelach
- Pomocnicze funkcje walidacji modeli