Sobes.tech
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()}")
}

Мұндай тәсіл функционалдылықты икемді кеңейтуге мүмкіндік береді, бастапқы сынып кодын өзгерту қажет емес.