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.)