当前位置:  开发笔记 > 编程语言 > 正文

观察者模式强制势在必行的风格

如何解决《观察者模式强制势在必行的风格》经验,为你挑选了1个好方法。

我在看Coursera中的Reactive Programming课程,它使用Scala实现Observer模式.在那里,Martin Odersky说观察者模式迫使命令式编程,我们可以看到,因为订阅者的处理程序有Unit类型.

他在这里说:https: //class.coursera.org/reactive-002/lecture/107 9:40

我真的不明白:

1.为什么处理者需要有Unit类型?

2. Observer模式如何强制命令式编程?



1> mdm..:

我没有评论发布的视频,所以我的答案基于OP的原始问题.

根据模式的定义,处理程序是回调; 因此,它们具有Unit返回类型,因为它们描述了将响应通知而执行的某些行为.这是副作用的定义.
因此,观察者模式是一种本质上命令式的模式:函数的调用者(例如notifyObservers(观察者))并不关心函数本身的结果,但它依赖于它将具有的副作用.这是必要的编程.

作为旁注,作为Unit结果类型的事实并非绝对必要,但如前所述,传达除了副作用之外没有任何兴趣.有人可能会对该方法进行一般建模并返回一些更有意义的类型,但由于观察者模式在实践中的使用方式,这可能会被忽略......

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有