文章目錄
  1. 1. 原先的封装
  2. 2. 新的封装

原先的封装

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

中间层各类

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

新的封装

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

  • 存储/加载/删除作品等文件操作相关接口并入到HYBrushCore,放进内核中;
  • 对作品的数量/顺序等管理放到了应用层的相应Controller
文章目錄
  1. 1. 原先的封装
  2. 2. 新的封装