Sobes.tech
Junior — Middle

Dasturlashda fabrik metodlari shablonlarining roli va qo'llanilishi qanday?

sobes.tech AI

AIdan javob

Fabrika usulining (Factory Method) modeli, yaratiladigan ob'ektning aniq sinfini ko'rsatmasdan ob'ektlar yaratish uchun ishlatiladi. U ob'ektni yaratish uchun interfeysni belgilaydi, ammo qaysi sinfni instansiyalashni pastki sinflarga qoldiradi.

Flutterda (va umuman dasturlashda) fabrik metodlar quyidagi maqsadlar uchun qo'llaniladi:

  • Ob'ektlarni yaratish mantiqini kapsüllash, ayniqsa, agar yaratish murakkab bo'lsa yoki shartlarga bog'liq bo'lsa.
  • Yaratilayotgan ob'ektning aniq sinfini o'zgartirish imkonini berish, uni ishlatadigan kodni o'zgartirmasdan.
  • Kodni test qilish va kengaytirishni osonlashtirish.

Dart/Flutter misoli:

abstract class Button {
  void render();
}

class AndroidButton implements Button {
  @override
  void render() => print('Android tugmasini chizish');
}

class IOSButton implements Button {
  @override
  void render() => print('iOS tugmasini chizish');
}

class Dialog {
  Button createButton(String platform) {
    if (platform == 'Android') {
      return AndroidButton();
    } else if (platform == 'iOS') {
      return IOSButton();
    } else {
      throw Exception('Noma’lum platforma');
    }
  }

  void render() {
    Button button = createButton('Android');
    button.render();
  }
}

Bu yerda createButton metodi platformaga qarab turli ob'ektlarni yaratadigan fabrik metod hisoblanadi.