如何阅读一个第三方控件
第一,我们会想到我们自己写第三方控件的时候会怎么写?首先,是UI 层面,其次是数据层面。好的第三方会把数据层和UI层独立开来,数据层面又分业务逻辑类的数据和页面配置的数据。当我们将页面配置的数据和业务逻辑类数据分离开来的时候,我们或许就可以实现数据库配置UI界面,换肤的工作了。
第二,就是看别人优秀的第三方的整体的设计架构了。对于层次多的,复杂的第三方,不急着看其实现的细节,先拎清各个类之间的层次关系,是不是继承关系,是不是并列的关系,这样大体框架就出来了。当然大部分会按功能进行划分。
源码GitHub地址:https://github.com/danielgindi/Charts
charts 的阅读
目录结构:

- Animation (主要负责动画)
- Charts (一些图表的的UI类)
- Components (是一些图表上一些标注,线啊,等等之类的数据模型,暂且归类到数据层)
- Data (图表所需要的一些主要的数据了)
- filters(douglas peuker 算法,个人认为也可以叫抽稀算法)
- Formatters (个人认为应用了OCP 的设计原则,即开放封闭的设计原则,偏属于业务逻辑类(对于Axis 轴数据的))
- Hightlight(同上)
- Interfaces(对上面的数据提供数据接口)
- Jobs 对UI的一些属性的处理
- renders(具体的绘制工作)
- Utils(工具集合)
下周会继续更新!
网友评论