iOS 图表(charts)源码阅读(一)

如何阅读一个第三方控件

第一,我们会想到我们自己写第三方控件的时候会怎么写?首先,是UI 层面,其次是数据层面。好的第三方会把数据层和UI层独立开来,数据层面又分业务逻辑类的数据和页面配置的数据。当我们将页面配置的数据和业务逻辑类数据分离开来的时候,我们或许就可以实现数据库配置UI界面,换肤的工作了。

第二,就是看别人优秀的第三方的整体的设计架构了。对于层次多的,复杂的第三方,不急着看其实现的细节,先拎清各个类之间的层次关系,是不是继承关系,是不是并列的关系,这样大体框架就出来了。当然大部分会按功能进行划分。

源码GitHub地址:https://github.com/danielgindi/Charts

charts 的阅读

  • 目录结构:
iOS 图表(charts)源码阅读(一)_第1张图片
charts folder constructor.png
  • Animation (主要负责动画)
  • Charts (一些图表的的UI类)
  • Components (是一些图表上一些标注,线啊,等等之类的数据模型,暂且归类到数据层)
  • Data (图表所需要的一些主要的数据了)
  • filters(douglas peuker 算法,个人认为也可以叫抽稀算法)
  • Formatters (个人认为应用了OCP 的设计原则,即开放封闭的设计原则,偏属于业务逻辑类(对于Axis 轴数据的))
  • Hightlight(同上)
  • Interfaces(对上面的数据提供数据接口)
  • Jobs 对UI的一些属性的处理
  • renders(具体的绘制工作)
  • Utils(工具集合)

下周会继续更新!

come on !fighting!

你可能感兴趣的:(iOS 图表(charts)源码阅读(一))