技术学习之开发框架
开发框架是一种复用程度很高的应用体系结构实现,掌握框架的使用,一方面可以快速构建应用程序,适应现代快速复杂软件开发的需求, 另一方面也可作为学习某种技术的入口点。 那么, 能够快速学习和掌握框架就成为软件开发人员的必备技能之一。 那么, 如何更快更好地掌握一门开发框架呢? 能否建立一套行之有效的学习模式呢 ?
开发框架是对应用中不可变部分的抽象, 首先,就要弄清楚这个框架致力于解决什么问题,提供了怎样的功能和抽象, 又提供了哪些实用的编程设施(常用级,可定制级)。 总之, 先观大略, 后入细节。
适宜场合:
1. 需要在项目中大量地反复地应用某些特定功能和模式, 对组件的要求稳定可靠, 经过仔细严格的测试, 而没有充足时间去研究和探索,重新创造;
2. 学习框架属于“磨刀不误砍柴工”的功夫。前期会花费学习成本和时间,长久来看提升开发效率,降低开发成本。
三个问题:
1. 此框架的核心用途是什么? 它提供了哪些设施? 要求开发者以怎样的方式去使用? 【基本】
2. 它如何完成自己的工作? 【进阶】
3. 有哪些类似的框架可用? 各自的优缺点 ? 【扩展】
两个阶段:
1. 使用阶段: 侧重于使用该框架来实现开发需求,在必要的情况下会深入源码查探部分实现,有时是为了调试;
2. 深入阶段: 侧重于探索该框架的内部实现,汲取其精髓所在,以便在其它项目中能够使用。
在使用阶段主要是体会其 API 的设计 以及如何适应业务需求,而不要太注重阅读源码,
在深入阶段则更注重阅读源码, 将 API 设计与内部实现联系起来体会其精妙之处;
各个阶段有各个阶段的关注点。
学习方法:
1. 调研:Problem -> Features -> Unique;
2. 学习: 入门文档 -> DEMO -> 重要概念 -> 工作原理;
3. 参考: 源码,API 文档,库,核心类;
4. 实战项目: 应用该框架的真实项目源码;先读后写,可以减少很多不必要的初期摸索过程;
5. 实战研习: 阅读关于该开发框架的技术书籍或网络文章,修改和完善真实项目源码,尝试自己来做;
6. 多次迭代: 更深入地使用、理解 + 阅读源码理解内部实现。