很喜欢老师使用问题引导方法,遇到需求,然后停顿想一下解决方法,需要用到的方案

来源:5-4 数据发送与接收并行-1

Lymanhan

2018-10-30

比如需要去掉static,因为外部需要关闭,又需要创建接口回调方法。很喜欢这种以需求,问题引出解决方案的方法,不过我还是不理解,接口回调。

写回答

2回答

Qiujuer

2018-10-31

嗯,怎么说呢,接口回调说实话这个是Java的基本能力,或者说是面向对象编程的基础概念与技能,无论是Java还是其他语言都是这样。

其实抽象来看所有的接口回调都可以立即为:“观察者模式”

简单来说:在手机上有一个按钮,用户可能会点击这个按钮,而我们的代码需要的是去观察用户是否点击了这个按钮。这个过程就是给按钮设置一个Listener,也叫做给Button设置了一个回调,而这个回调在什么时候触发呢?自然就是在用户点击的时候触发。用户点击就是触发的媒介与条件。

在咱们的代码中,我们应该尽可能减少类与类直接的耦合性,我们只需要知道类的作用与职责即可,而不关注类本身。

还是拿Button来说,按钮有很多种类,还可以上色啥的,也就是说按钮的类型很多;但是对于业务来说我们不关注你按钮的样式如何,我们只需要知道你可以给我提供一个用户点击的“回调“即可。所以我们给按钮设置一个回调,在按钮被点击的时候告诉我即可,至于你的样式如何,如何实现我们不关心。

所以咱们的类与类之间就可以做到通过接口来传递消息,传递状态,而不需要一定把一个类放到另外一个类中去进行业务的处理。


而这样的一个过程就是抽象接口,进行接口回调的过程。在实际的使用中建议多想想你的类的职责是什么?能给外部其他类带来什么?这样有助于你充分理解。

3
2
Qiujuer
回复
Mnie_
多来几遍,你就比我厉害啦。
2019-11-07
共2条回复

Lymanhan

提问者

2018-11-08

谢谢老师耐心讲解

0
0

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2314 学习 · 476 问题

查看课程