Sobes.tech
Junior — Middle

Dasturiy tizimlarni loyihalashda 'Abstrakt fabrikalar' shablonining konseptini va qanday ishlatilishini tushuntiring.

sobes.tech AI

AIdan javob

"Abstrakt Fabrika" şablonu, ilişkili veya bağımlı nesneleri, onların somut sınıflarını belirtmeden oluşturmak için bir yaratıcı tasarım desenidir.

Fikir, müşteri kodunu oluşturulan nesnelerin somut uygulamalarından izole etmektir, böylece ürün ailelerini değiştirmeden kullanmaya devam edebilir.

Flutter'da kullanım örneği: Farklı temalar ve widget setleri (düğmeler, giriş alanları) olduğunu varsayalım. Soyut fabrika, bu widget'ları oluşturmak için bir arayüz sağlar ve somut fabrikalar, açık ve koyu tema için bunları uygular.

abstract class WidgetFactory {
  Button createButton();
  TextField createTextField();
}

class LightThemeFactory implements WidgetFactory {
  @override
  Button createButton() => LightButton();

  @override
  TextField createTextField() => LightTextField();
}

class DarkThemeFactory implements WidgetFactory {
  @override
  Button createButton() => DarkButton();

  @override
  TextField createTextField() => DarkTextField();
}

// Müşteri kodu
void buildUI(WidgetFactory factory) {
  var button = factory.createButton();
  var textField = factory.createTextField();
  // button ve textField kullanımı
}

Bu yaklaşım, kodun bakımını ve genişletilmesini kolaylaştırır, yeni ürün aileleri eklemeyi basitleştirir.