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