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()
}
Този модел помага да се отдели кодът за създаване на обекти от техния използване, което подобрява разширяемостта и поддръжката на кода.