Kotlin 设计模式-观察者
2017-12-11 15:31
211 查看
前言
观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。摘自百度百科《观察者模式》
kotlin 中的观察者
Java官方对于观察者模式在java.util包中提供了Observer接口和Observable抽象类。比如说注册,删除,通知观察者的那些功能已经内置好了。kotlin也支持使用Java中提供的观察者模式支持。Kotlin对观察者的优化支持是对于属性可以直接监听其值的变化,对变量值的变化使用代理的方式进行属性代理。
Show me code
interface TextChangedListener { fun onTextChanged(newText: String) } class PrintingTextChangedListener : TextChangedListener { override fun onTextChanged(newText: String) = println("Text is changed to: $newText") } class TextView { val listener: TextChangedListener? = PrintingTextChangedListener() var text: String by Delegates.observable("") { prop, old, new -> listener?.onTextChanged(new) } }
调用代码
val textView = TextView() textView.text = "Hello world!" textView.text = "this is kotlin observable pattern!"
相关文章推荐
- 《JAVA与模式》之观察者设计模式及自定义监听器
- JAVA设计模式--观察者
- 设计模式学习笔记之观察者模式
- 观察者设计模式
- 设计模式(2)--观察者模式
- 设计模式之观察者模式
- .NET设计模式:观察者模式(Observer Pattern)
- php设计模式--单例,工厂,观察者,策略模式
- 07.C语言和设计模式(观察者模式)
- 设计模式---观察者模式
- java设计模式--观察者模式(Observer)
- 【设计模式】 之 观察者模式
- .net设计模式之观察者模式
- 设计模式笔记(十) —— 观察者模式
- iOS与设计模式八 :观察者模式
- 设计模式初探 行为模式 观察者模式 c语言 版本实现
- 设计模式之观察者模式
- 简单的对象监听器 观察者设计模式
- java设计模式_观察者模式
- 设计模式 观察者模式 以微信公众服务为例