为了得到Inkpad的模块关系图和设计结构,创建了一个开源项目InkpadDoxygen,使用Doxygen从代码生成目录包含三个图。@H_403_1@
得到的模块关系图比较混乱,见 问题108 中的图。@H_403_1@
下面就由易到难分成几个步骤去改善关系。@H_403_1@
1. 去掉 Inkpad-Core 的 Tools 与 外层 Controllers 的依赖关系
@H_403_1@
将 WDCanvas.h 和 WDCanvasController.h 移到内核的 CoreView 目录,重新生成目录图,Tools 与 外层依赖断开: @H_403_1@
2. 去掉 Inkpad-Core 的 Tools 与 外层 Controllers 的依赖关系
将外层的 WDFontManager.h 也移到 CoreView:@H_403_1@
@H_403_1@
对剩下的 UIView+Additions 也这样移动,依赖关系更好了:@H_403_1@
3. 对外层的 Model 依赖 View 进行解耦
干净了!@H_403_1@