Oluşturucu Kalıbının Temelleri
Karmaşık nesneleri adım adım oluşturun.
Oluşturucu Kalıbının Temelleri, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 1. 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 4 dersten oluşur.
Neden Oluşturucu?
Bazı nesnelerin çok sayıda alana ihtiyacı vardır ve bunları konumsal bağımsız değişkenlerle dolu devasa bir yapıcıyla oluşturmak hataya açıktır. Oluşturucu kalıbı, karmaşık bir nesneyi adım adım, her seferinde adlandırılmış bir çağrıyla oluşturur.
İstediğimiz Nesne
url, method, headers ve body içeren bir HTTP isteği düşünün. Bunların hepsini tek bir yapıcıya aktarmak okunması zordur. Bir oluşturucu, her parçayı açıkça adlandırılmış bir yöntemle ayarlamanızı sağlar.
interface HttpRequest {
url: string;
method: string;
headers: Record<string, string>;
body?: string;
}Temel Bir Oluşturucu Sınıfı
Oluşturucu, kısmi durumu içeride tutar ve ayarlayıcı yöntemler sunar. Her ayarlayıcı, iç durumu değiştirir ve tek bir alandan sorumludur.
class RequestBuilder {
private url = "";
private method = "GET";
private headers: Record<string, string> = {};
private body?: string;
}Yöntem Zincirleme Aynı Nesneyi Döndürür
Oluşturucuların akıcı okunmasını sağlayan püf noktası, her ayarlayıcıdan this döndürmektir. Her yöntem aynı oluşturucuyu döndürdüğü için calls işlemlerini birbirine zincirleyebilirsiniz.
class RequestBuilder {
private url = "";
setUrl(u: string): this {
this.url = u;
return this;
}
}Daha Fazla Adım Ekleme
Her yapılandırma adımı aynı düzeni izler: değeri saklayın, ardından this döndürün. Dönüş türü olarak this kullanılması, zincir boyunca somut oluşturucu türünü korur.
setMethod(m: string): this {
this.method = m;
return this;
}
addHeader(k: string, v: string): this {
this.headers[k] = v;
return this;
}build() Yöntemi
Son olarak bir build() yöntemi biriken durumu tamamlanmış nesnede bir araya getirir. Oluşturucuyu döndürmeyen tek yöntem budur.
build(): HttpRequest {
return {
url: this.url,
method: this.method,
headers: this.headers,
body: this.body,
};
}Oluşturucuyu Kullanma
Artık oluşturma işlemi bir cümle gibi okunur. Her adım adlandırılmıştır, sıra esnektir ve konumsal bağımsız değişkenlerle uğraşmanız gerekmez.
const req = new RequestBuilder()
.setUrl("https://api.test")
.setMethod("POST")
.addHeader("Accept", "application/json")
.build();
console.log(req.method);Tam Çalıştırılabilir Örnek
Çalıştırabileceğiniz, kendi içinde eksiksiz bir sürüm burada. Oluşturucu durumu biriktirir ve build() son değişmez görünümlü nesneyi üretir.
interface Req { url: string; method: string }
class B {
private url = ""; private method = "GET";
setUrl(u: string): this { this.url = u; return this; }
setMethod(m: string): this { this.method = m; return this; }
build(): Req { return { url: this.url, method: this.method }; }
}
const r = new B().setUrl("/users").setMethod("POST").build();
console.log(r.url, r.method);Varsayılanlar Kendiliğinden Hazırdır
Oluşturucu alanları makul varsayılanlarla başlattığı için çağıranlar yalnızca ihtiyaç duyduklarını geçersiz kılar. Ayarlanmayan adımlar varsayılanlarını korur.
const getReq = new B().setUrl("/health").build();
console.log(getReq.method); // GET (default)Okunabilirlik ve Yapıcılar Karşılaştırması
new Req("/x", "POST", {}, undefined) ile zincirlenmiş oluşturucuyu karşılaştırın. Oluşturucu sürümü her adımda amacı açıklar ve gizemli undefined yer tutucularını önler.
Ne Zaman Tercih Edilmeli
Bir nesnenin birçok isteğe bağlı parçası olduğunda, oluşturma işlemi adımlar hâlinde gerçekleştiğinde veya okunabilir ve kendini açıklayan bir API istediğinizde oluşturucu kullanın. İki ya da üç alan için sade bir nesne literal yapısı daha basittir.
Hızlı Kontrol
Bu derse ilişkin hızlı bir kontrol.
Özet
Bir oluşturucu, karmaşık nesneleri adım adım oluşturur. Ayarlayıcılar her biri bir alanı saklar ve zincirleme kullanımı mümkün kılmak için this döndürür; build() ise son nesneyi bir araya getirir. Nesnelerin çok sayıda isteğe bağlı parçası olduğunda oluşturucular özellikle kullanışlıdır.
Sıkça Sorulan Sorular
“Oluşturucu Kalıbının Temelleri” dersi ücretsiz mi?
Evet — “Oluşturucu Kalıbının Temelleri” 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 4 dersten oluşur.
“Oluşturucu Kalıbının Temelleri” dersinde ne öğreneceğim?
Karmaşık nesneleri adım adım oluşturun. 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, 4 dersinin 1. dersidir.
“Oluşturucu Kalıbının Temelleri” 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
- Oluşturucu Kalıbının Temelleri
- Türlerle Akıcı Arayüzler
- Gerekli Adımları Zorunlu Kılma
- Değişmez Oluşturucular