背景
这几年工作学习下来,对于开源框架分析学习没有一个完善的方法论可供参考,结合自身的学习经验,在这里略微发表下笔者的思路。
指导思想
- 首先需要了解这个开源框架的框架性功能(如果文档没有,则通过这个框架的具体功能来提取要素,找到框架性功能)
- 分析不同框架性功能在这个框架内的作用(核心功能、支撑功能)
- 对于核心功能具体分析,对于支撑功能有兴趣再了解
- 核心功能分析,按照上述2、3的逻辑再做具体功能的拆分,基本上拆出这两层已经差不多
- 画出核心功能的依赖处理流程图
- 查看每个功能的核心类,搞清楚不同功能的核心类的交互机制以及如何构建出这个框架的核心能力,输出核心流程图(时序图也可)
- 从核心类出发,查看其它支撑类的作用,并构建类图
- 从底往上出发,查看框架应用的设计模式以及为何需要使用这个设计模式,对于扩展性、易用性、可读性等的影响在哪里
- 总结性文档输出