Junior — Middle
108
Бағдарламалауда құрылымдық үлгіні жүзеге асырудың мысалын келтіре аласыз ба?
AI-дан жауап
sobes.tech AI
Танымал құрылымдық үлгілердің бірі — "Декоратор" үлгісі. Бұл үлгі объектілерге жаңа міндеттерді динамикалық түрде қосуға мүмкіндік береді, оларды басқа декоратор объектілеріне орау арқылы.
Kotlin тілінде Android үшін мысал:
// Компонент интерфейсі
interface Coffee {
fun cost(): Double
}
// Нақты компонент
class SimpleCoffee : Coffee {
override fun cost() = 2.0
}
// Декоратор
open class CoffeeDecorator(private val decoratedCoffee: Coffee) : Coffee {
override fun cost() = decoratedCoffee.cost()
}
// Нақты декоратор
class MilkDecorator(coffee: Coffee) : CoffeeDecorator(coffee) {
override fun cost() = super.cost() + 0.5
}
// Қолдану
fun main() {
val simpleCoffee = SimpleCoffee()
val milkCoffee = MilkDecorator(simpleCoffee)
println("Сүт қосылған кофе бағасы: ${milkCoffee.cost()}")
}
Мұндай тәсіл функционалдылықты икемді кеңейтуге мүмкіндік береді, бастапқы сынып кодын өзгерту қажет емес.