Sobes.tech
Junior — Middle

Можеш ли да дадеш пример за шаблон, който отговаря за създаването на обекти в програмирането?

sobes.tech AI

Отговор от AI

Един от популярните модели за създаване на обекти е Фабричният метод (Factory Method). Той позволява създаването на обекти без да се указва конкретният клас на създавания обект, като делегира създаването на подкласовете.

Пример на Kotlin за Android:

// Интерфейс на продукта
interface Button {
    fun render()
}

// Конкретен продукт
class AndroidButton : Button {
    override fun render() {
        println("Рисуване на Android бутон")
    }
}

// Фабрика
abstract class Dialog {
    abstract fun createButton(): Button

    fun renderDialog() {
        val button = createButton()
        button.render()
    }
}

// Конкретна фабрика
class AndroidDialog : Dialog() {
    override fun createButton(): Button {
        return AndroidButton()
    }
}

// Използване
fun main() {
    val dialog: Dialog = AndroidDialog()
    dialog.renderDialog()
}

Този модел помага да се отдели кодът за създаване на обекти от техния използване, което подобрява разширяемостта и поддръжката на кода.