跨平台库的封装

原先的封装

先前开发了一个C++的画板库,将其封装后提供给各移动平台使用。原来的设计以下图所示。封装的库中只含有C++代码,这样能保证该库能够被各个平台使用。可这种封装暴露的内部元素太多,须要在应用层引入HYBrushCore,CanvasView以及PaintingManager等中间层代码才能让库被方便实用。函数

原先的封装

中间层各种设计

  • HYBrushCore:管理内核库中各C++组件,为应用层提供更换笔触/调整颜色/调整大小等功能;
  • CanvasView: 继承于平台相关的视图,接收交互手势,并调用内核库函数进行绘制;
  • PaintingManager: 管理绘画做品,提供存储/加载/删除做品等功能;

新的封装

新的封装直接将中间层代码封装到库内,这样虽然针对不一样的平台须要封装不一样的库,但暴露给应用层的接口简单了,方便使用。 为了统一接口,PaintingManager的功能拆分到了应用层和内核中code

  • 存储/加载/删除做品等文件操做相关接口并入到HYBrushCore,放进内核中;
  • 对做品的数量/顺序等管理放到了应用层的相应Controller
相关文章
相关标签/搜索