Sobes.tech
Junior — Middle

Kannst du ein Beispiel für ein Verhaltensmuster im Design geben?

sobes.tech KI

Antwort von AI

Ein Beispiel für ein Verhaltensmuster in der Softwareentwicklung ist das "Beobachter"-Muster. Es wird verwendet, wenn mehrere Objekte über Änderungen am Zustand eines anderen Objekts informiert werden sollen.

In Android wird dieses Muster häufig bei der Arbeit mit LiveData und ViewModel angewendet, wobei die View auf Datenänderungen abonniert und automatisch aktualisiert wird.

Beispiel in Kotlin:

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("Zustand aktualisiert auf: $state")
    }
}

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