一个Solution可能包含多个DLL, EXE的工程.
原则1:
尽量把代码放到DLL中, EXE尽可能精简.
原则2:
把公用的.h放到一个Interfaces的DLL项目中. 任何DLL只要使用公用的.h文件都依赖这个工程. 但DLL之间不互相依赖.
这个项目包含:
- 接口类(纯虚类)
- 简单数据类(用于各个层次和模块通讯)
原则3:
只有EXE需要依赖所有的DLL (原则2:DLL之间不互相依赖)
举例:
Solution:
- Interfaces(DLL)
- ControlLib (DLL) , 依赖Interfaces
- WindowingLib (DLL), 依赖Interfaces
- NetworkingLib (DLL), 依赖Interfaces
- App (EXE), 依赖 Interfaces, ControlLib, WindowingLib, NetworkingLib