一、概念
定义一对多的依赖关系,当发布者状态发生变化时,所有依赖它的订阅者均得到通知并自动更新。
二、Java 写法
已废弃!原因在于 Observer 与 Observable 支持的事件模型存在明显局限:通知顺序无法保证,且状态变更与通知之间缺乏一一对应关系。如需更完善的事件模型,建议改用 java.beans 包中的相关组件;若需实现线程间可靠有序的消息传递,可考虑采用 java.util.concurrent 包中的并发数据结构;而对于响应式流编程场景,请参阅 java.util.concurrent.Flow API。
三、kotlin 写法
通过属性委托Delegate,属性变更时自动调用回调。详见
var name: String by Delegates.observable("default") { prop, old, new ->
println("$prop 从 $old 变为 $new")
}
name = "Alice" // 自动触发回调

被折叠的 条评论
为什么被折叠?



