Sobes.tech
Junior — Middle

Davranışsal tasarım kalıbına bir örnek verebilir misin?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir davranış kalıbı örneği, "Gözlemci" (Observer) kalıbıdır. Bu kalıp, başka bir nesnenin durumundaki değişiklikleri birden fazla nesneye bildirmek gerektiğinde kullanılır.

Android'de, bu kalıp genellikle LiveData ve ViewModel ile çalışırken kullanılır; burada View, veri değişikliklerine abone olur ve otomatik olarak güncellenir.

Kotlin'de örnek:

class Subject {
    private val observers = mutableListOf<Observer>()
    var state: Int = 0
        set(value) {
            field = value
            notifyObservers()
        }

    fun attach(observer: Observer) {
        observers.add(observer)
    }

    private fun notifyObservers() {
        observers.forEach { it.update(state) }
    }
}

interface Observer {
    fun update(state: Int)
}

class ConcreteObserver : Observer {
    override fun update(state: Int) {
        println("Durum güncellendi: $state")
    }
}

fun main() {
    val subject = Subject()
    val observer = ConcreteObserver()
    subject.attach(observer)
    subject.state = 10
}