11月23, 2020

如何进行网络框架的学习和设计

1 前言

对框架的认知,分为三层:

第一层:会用 。了解它的功能,知道怎么调用。

第二层:知道实现 。通过研究源码,知道它怎么实现的。

第三层:理解为什么 。为什么要有这个框架?如果没有这个框架,我们如何实现它的功能以及实现的成本有多高?框架内部为什么这么设计?有没有更好的设计?

要认知到第三层,最好的方式就是先抛弃这个框架,撸起袖子自己干,从零设计一个这样的框架,最后回过头来,再去思考这个框架存在的意义,以及它内部的设计。

比如网络框架,它的基本功能是调用服务器的接口获取数据,在APP开发中,这个功能不需要依赖任何额外框架就可以轻松实现,但是在实际项目中,能满足这个基本功能是远远不够的,还有很多其他的事情需要考虑,比如线程调度、数据加工、易用性、可扩展性等。

下面我们先从零设计一个网络框架,然后再去对照okhttp和retrofit的源码,思考它们存在的意义以及它们的设计,最后我们再挖掘下okhttp和retrofit预留给我们的扩展能力,举例一些常见的应用场景。更进一步,我们再思考下它还有哪些不足,以及如何改进。

点击查看原文>

本文链接:https://blog.jnliok.com/post/27hRZ4qgcNXHuk7NauMe.html

-- EOF --

Comments