Sobes.tech
Junior — Middle

Рол ва истифодаи намунаҳои усулҳои фабрика дар барномасозӣ чист?

sobes.tech AI

Ҷавоб аз AI

Шаблони фабричного методу (Factory Method) пайдаланылады объектілерді нақты сыныпты көрсетпестен жасау үшін. Ол объектіні жасау үшін интерфейсті анықтайды, бірақ қай сыныпты инстанциялау керек екенін төменгі сыныптар шешеді.

Flutter-да (және жалпы бағдарламалауда) фабричный әдістер келесі мақсаттар үшін қолданылады:

  • Объектілерді жасау логикасын инкапсуляциялау, әсіресе егер жасау күрделі немесе шарттарға байланысты болса.
  • Жасалған объектінің нақты сыныбын өзгертуге мүмкіндік беру, оны қолданатын кодты өзгертуге болмайды.
  • Кодтың тестілеуін және кеңейтілуін жеңілдету.

Dart/Flutter мысалы:

abstract class Button {
  void render();
}

class AndroidButton implements Button {
  @override
  void render() => print('Android батырмасын көрсету');
}

class IOSButton implements Button {
  @override
  void render() => print('iOS батырмасын көрсету');
}

class Dialog {
  Button createButton(String platform) {
    if (platform == 'Android') {
      return AndroidButton();
    } else if (platform == 'iOS') {
      return IOSButton();
    } else {
      throw Exception('Белгісіз платформа');
    }
  }

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

Мұнда createButton әдісі — платформаның негізінде әртүрлі объектілер жасайтын фабричный әдіс.