Factory ve const Yapıcıları
Önbelleğe alma, alt tür döndürme veya derleme zamanı nesneleri oluşturma
Factory ve const Yapıcıları, CoddyKit'te ücretsiz bir Dart Academy dersidir. Bu, 4 dersinin 4. 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, Dart Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Dart Academy kursu toplamda 4 dersten oluşur.
Fabrika Oluşturucusu Nedir
Bir fabrika oluşturucusu normal bir oluşturucuya benzer, ancak ne döndüreceğini siz denetlersiniz. Bu nedenle her seferinde yepyeni bir nesne oluşturmak zorunda değildir.
class Logger {
factory Logger() => _shared;
}fabrika Önbelleğe Alınmış Bir Nesne Döndürebilir
Her zaman yeni bir nesne oluşturmak yerine değer döndürdüğü için bir fabrika, önbelleğe alınmış bir örneği geri verebilir. Bu, tekil nesneler veya havuzlar için idealdir.
class Logger {
static final _it = Logger._();
Logger._();
factory Logger() => _it;
}fabrika Bir Alt Tür Döndürebilir
Bir fabrika, doğru türdeki herhangi bir nesneyi, bir alt sınıfı bile döndürebilir. Böylece somut sınıfı çalışma zamanında seçebilirsiniz.
factory Shape(String k) =>
k == "box" ? Box() : Dot();fabrika Döndürmek Zorundadır
Normal bir oluşturucunun aksine, fabrikanın bir örneği döndürmesi gereken bir gövdesi vardır; alanları doğrudan this. ile ayarlamaz.
factory User.fromJson(Map j) {
return User(j["name"]);
}Yaygın Bir Ayrıştırma Fabrikası
Fabrika deseni, eşlemeden nesne oluşturmak gibi ayrıştırma işlemlerinde çok işe yarar. fromJson kullanımı Dart ve Flutter'da her yerde görülür.
factory User.fromJson(Map<String, dynamic> j) =>
User(j["name"]);const Oluşturucusu Nedir
Bir const oluşturucusu, tüm alanları final olan ve önceden bilinen derleme zamanı sabit nesneleri oluşturmanızı sağlar.
class Point {
final int x, y;
const Point(this.x, this.y);
}const Örnekleri Oluşturma
Dondurulmuş bir nesne oluşturmak için onu const anahtar sözcüğüyle çağırın. Eşit değerlere sahip iki const nesne aslında aynı örnektir.
const a = Point(1, 2);
const b = Point(1, 2);
print(identical(a, b)); // trueconst Oluşturucuları İçin Kurallar
Her alan final olmalı ve oluşturucu gövdesi boş olmalıdır. Dart'ın nesneyi derleme zamanında dondurabilmesini sağlayan kurallar bunlardır.
class Color {
final int v;
const Color(this.v);
}const Bellek Kazandırır
Aynı const nesneler tek bir paylaşılan örnekte standartlaştırılır; bu nedenle onları yeniden kullanmak bellekte ek maliyet oluşturmaz.
const reds = [Color(255), Color(255)];fabrika ve const Karşılaştırması
Çalışma zamanında ne döndürüleceğine karar verdiğinizde fabrika kullanın; değişmez, derleme zamanı değerleri istediğinizde const kullanın.
Fikirleri Birleştirme
Bir sınıf, her türlü oluşturma ihtiyacını karşılamak için normal bir oluşturucu, ayrıştırma amacıyla bir fabrika ve sabit değerler için bir const oluşturucusu sunabilir.
Hızlı Kontrol
Fabrika oluşturucularıyla ilgili hızlı kontrol.
Özet: fabrika ve const
Fabrika oluşturucularının ne döndüreceklerini denetlediğini, const oluşturucularının ise paylaşılan ve değişmez derleme zamanı nesneleri oluşturduğunu öğrendiniz. Harika çalıştınız! 🎉
Sıkça Sorulan Sorular
“Factory ve const Yapıcıları” dersi ücretsiz mi?
Evet — “Factory ve const Yapıcıları” 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 Dart Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Dart Academy kursu toplamda 4 dersten oluşur.
“Factory ve const Yapıcıları” dersinde ne öğreneceğim?
Önbelleğe alma, alt tür döndürme veya derleme zamanı nesneleri oluşturma Dart 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.
Dart Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Dart 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 4. dersidir.
“Factory ve const Yapıcıları” 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 Dart Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Dart 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
- Varsayılan ve Parametreli Yapıcılar
- Açık Amaçlı Adlandırılmış Yapıcılar
- Başlatıcı Listeleri ve Yönlendirme
- Factory ve const Yapıcıları