Veri modelleri için yeniden kullanılabilir kalıplar
Genel kalıpları gerçek modellere uygulayın: Paginated , Result , Pick/Omit/Partial kullanan DTO'lar ve id anahtarlarıyla eşlenen haritalar.
Veri modelleri için yeniden kullanılabilir kalıplar, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 3 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, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 3 dersten oluşur.
Giriş
Amaç: Tür güvenliğini kaybetmeden yapıyı yeniden kullanabilmek için yaygın veri yapılarını jenerik türler olarak paketleyin.
- Paginated<T>
- Result<T,E>
- Pick/Omit/Partial ile DTO'lar
- id ile anahtarlanmış eşlemeler
Paginated<T>
Paginated<T>, meta verileri merkezileştirir ve listelerdeki öğe türünü T olarak kesin tutar.
type Paginated<T> = {
items: T[];
total: number;
page: number;
pageSize: number;
};
type User = { id: number; name: string };
const page1: Paginated<User> = {
items: [{ id: 1, name: "Ada" }],
total: 10,
page: 1,
pageSize: 5,
};
console.log(page1.items[0].name);Result<T,E>
Result<T,E>, güvenli dallanma için bir ayırt edici alanla (ok) başarıyı ve başarısızlığı açıkça modeller.
type Ok<T> = { ok: true; data: T };
type Err<E = string> = { ok: false; error: E };
type Result<T, E = string> = Ok<T> | Err<E>;
function readUser(id: number): Result<{ id: number; name: string }> {
return id > 0 ? { ok: true, data: { id, name: "Ada" } } : { ok: false, error: "not found" };
}
const r = readUser(1);
if (r.ok) {
console.log(r.data.name);
} else {
console.error(r.error);
}DTO kalıpları
Pick/Omit/Partial ile temel modelinizden kısa ve öz DTO türleri türetirsiniz—yineleme yapmanız gerekmez.
type User = { id: number; name: string; email?: string; role: "user" | "admin" };
type UserCreateDto = Pick<User, "name" | "email">; // fields required to create
// Update = partial editable fields
type UserUpdateDto = Partial<Pick<User, "name" | "email">>;
const createBody: UserCreateDto = { name: "Ada", email: "a@x.io" };
const updateBody: UserUpdateDto = { name: "Ada L." };MapById<T>
MapById<T>, hızlı arama için varlıkları id ile dizinler. Bir id bulunduğundan emin olmak için T'yi kısıtlayın.
type Key = string | number;
type MapById<T extends { id: Key }> = Record<Key, T>;
const byId: MapById<{ id: number; name: string }> = {
1: { id: 1, name: "Ada" },
2: { id: 2, name: "Lin" },
};
console.log(byId[1].name);İpuçları
İpuçları:
- Kalıpları küçük ve birleştirilebilir tutun.
- Durum makineleri için ayırt edici birleşimleri tercih edin.
- DTO'ları modellerden türetin—elle kopyalamaktan kaçının.
Paginated<T> kontrolü
Hızlı kontrol: Jenerik bir Paginated<T> neden tanımlanır?
Özet
Özet: Tekrarlanan yapıları genelleştirin: Paginated<T>, Result<T,E>, Pick/Omit/Partial ile DTO'lar ve id ile dizinlenmiş eşlemeler. Küçük yardımcılar farklı özellikler genelinde ölçeklenebilir.
Sıkça Sorulan Sorular
“Veri modelleri için yeniden kullanılabilir kalıplar” dersi ücretsiz mi?
Evet — “Veri modelleri için yeniden kullanılabilir kalıplar” 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 TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 3 dersten oluşur.
“Veri modelleri için yeniden kullanılabilir kalıplar” dersinde ne öğreneceğim?
Genel kalıpları gerçek modellere uygulayın: Paginated , Result , Pick/Omit/Partial kullanan DTO'lar ve id anahtarlarıyla eşlenen haritalar. TypeScript 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.
TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te TypeScript 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, 3 dersinin 3. dersidir.
“Veri modelleri için yeniden kullanılabilir kalıplar” 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 TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her TypeScript 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
- Genel arayüzler ve tür takma adları
- Koşullu türler (giriş) ve birleşimler üzerinde dağılım
- Veri modelleri için yeniden kullanılabilir kalıplar