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
}