0Pricing
Kotlin Multiplatform Academy · Lekcja

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.id

Bezpł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") // true

Kopiowanie 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

  1. Klasy danych dla domeny
  2. Enumy i klasy sealed do obsługi stanu
  3. Bezpieczeństwo wartości null we współdzielonych modelach
  4. Pomocnicze funkcje walidacji modeli
← Powrót do Kotlin Multiplatform Academy