Kotlin, 옵저버 패턴 구현 +
일반적인 옵저버 패턴 구현
옵저버 패턴은 이벤트를 기반으로 동작하는 모든 코드에서 광범위하게 쓰이므로 구조를 이해하는 것이 중요합니다.
interface EventListener {
fun onEvent(count: Int)
}
class Counter(var listener: EventListener) {
fun count() {
for (i in 1..100) {
if (i % 5 == 0)
listener.onEvent(i) // 특정 조건마다 이벤트 리스너를 호출
}
}
}
//인터페이스 구현체
class EventPrinter: EventListener {
override fun onEvent(count: Int) {
print("${count}-")
}
fun start() {
val counter = Counter(this) //Counter에 EventListener인 자기 자신을 넘겨줌
counter.count()
}
}
fun main() {
EventPrinter().start()
}
익명객체 사용
interface EventListener {
fun onEvent(count: Int)
}
class Counter(var listener: EventListener) {
fun count() {
for (i in 1..100) {
if (i % 5 == 0)
listener.onEvent(i) // 특정 조건마다 이벤트 리스너를 호출
}
}
}
class EventPrinter {
fun start() {
//Counter안에 EventListener구현체 대신 익명 객체를 넣어줌
val counter = Counter(object: EventListener {
override fun onEvent(count: Int) {
print("${count}-")
}
})
counter.count()
}
}
fun main() {
EventPrinter().start()
}
Author And Source
이 문제에 관하여(Kotlin, 옵저버 패턴 구현 +), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yebali/Kotlin-옵저버-패턴-구현하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)