模块化思想:
1. 将系统分成很多的模块,模块内部关注自身需要实现的核心业务。
2. 模块化的典型特点是:“模块间的低耦合”和“模块内的高聚合”。
模块的构成:
1. 名称。全局范围内表明该模块独一无二的标识。
2. 依赖。称模块运行引用的其他模块为依赖。
3. 接口。将模块对外提供的服务称为接口。
模块的管理:
1. 扫描模块列表
2. 分析模块依赖
3. 重排模块顺序
4. 初始化前准备
5. 模块的初始化
6. 模块反初始化
7. 模块最终销毁
模块化实践:
#include <vector>
#include <string>
#include <functional>
using namespace std;
#ifndef _UNICODE
typedef std::string StdString;
#else
typedef std::wstring StdString;
#endif
定义模块结构:
/**
* 定义初始化及反初始化函数类型
*/
typedef function<void()> Sel