发现问题
最近我在读Android WebView源码时候,发现
public class WebView extends MockView {
/**
* Construct a new WebView with a Context object.
* @param context A Context object used to access application assets.
*/
public WebView(Context context) {
this(context, null);
}
但是我记得上一次看WebView时,它父类是AbsoluteLayout,还带有一些用法的注释,那么这里的MockView是什么鬼?
我又仔细看了下,发现在最新Android sdk android-28中,它是继承MockView, 里面只有接口没有具体实现,但是低版本的sdk比如android-27 android-26它都是正常的,为什么呢?本文就探讨下这个问题。
原因调查
启迪与思考
Mock是一种把合作双方工作解耦合的方法。合作时候双方把合作通道、接口制订好,并首先让合作接口能够返回一些虚拟的数据,这样合作双方就能够互不影响开发进度。比如App和服务器交互的时候,先定义好接口后,服务器写好接口后就暂时写好返回数据(假的),然后双方开始自己开发不受影响。这种思想不仅对我们软件技术开发很有帮助,对其他工作也有指导意义,我们在与人合作完成一件事时候,要首先弄清楚如何合作,其次先把对方有影响的事尽量做好,最后才是自己独立部分,这样合作双方工作能够最大程度不影响对方进度。