当我们在学习一个开源框架时,成熟的开源框架一般都会非常庞大,各个模块、包之间会有依赖关系,而如果只是修改开源包的话,始终觉得不能真正地从根本上理解、实现一个开源框架。如果自己去模仿着写一个的话,也会非常痛苦,因为想实现模块A,但是写着写着,发现模块A依赖了太多其他模块的东西,导致无法继续模仿下去。
有一个技巧可以解决上述问题,我们把开源包用IDE打开,然后去除想要学习的模块A,以及依赖模块A的包,然后将剩余的模块打包起来,当作第三方包导入到自己的模仿项目中,这样就解决了依赖问题,就可以愉快地模仿下去了,从最小的功能开始,一步步地实现跟原有框架相同的功能,能体会的编程的乐趣。
这个方法有一个问题是,如果原框架依赖A的包太多,或者相互之间都有依赖,又该怎么办呢?我想,这个问题不需要担心的,因为好的开源框架,模块之间依赖关系是非常好梳理的,好的开源框架基本上任何一个模块都可以单独拉出来使用。