跨平臺庫的封裝

原先的封裝

先前開發了一個C++的畫板庫,將其封裝後提供給各移動平臺使用。原來的設計以下圖所示。封裝的庫中只含有C++代碼,這樣能保證該庫能夠被各個平臺使用。可這種封裝暴露的內部元素太多,須要在應用層引入HYBrushCore,CanvasView以及PaintingManager等中間層代碼才能讓庫被方便實用。函數

原先的封裝

中間層各種設計

  • HYBrushCore:管理內核庫中各C++組件,爲應用層提供更換筆觸/調整顏色/調整大小等功能;
  • CanvasView: 繼承於平臺相關的視圖,接收交互手勢,並調用內核庫函數進行繪製;
  • PaintingManager: 管理繪畫做品,提供存儲/加載/刪除做品等功能;

新的封裝

新的封裝直接將中間層代碼封裝到庫內,這樣雖然針對不一樣的平臺須要封裝不一樣的庫,但暴露給應用層的接口簡單了,方便使用。 爲了統一接口,PaintingManager的功能拆分到了應用層和內核中code

  • 存儲/加載/刪除做品等文件操做相關接口併入到HYBrushCore,放進內核中;
  • 對做品的數量/順序等管理放到了應用層的相應Controller
相關文章
相關標籤/搜索