34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
# 1. 设计文档
|
||
|
||
## 1.1. 软件设计
|
||
|
||
### 1.1.1. 多态单例设计模式
|
||
   多态单例模式包含两部分:抽象接口 + 抽象接口实例,代码基于抽象接口存在,业务基于抽象接口实例存在。
|
||
|
||
#### 1.1.1.1. 多态单例图示
|
||
   下述图示分别为:类图 / 依赖关系图 / 编译链接关系图
|
||
```mermaid
|
||
classDiagram
|
||
APP --> AbstractInterface:使用
|
||
AbstractInterface <|.. Instance:实现
|
||
应用 --> 抽象接口库:依赖
|
||
抽象接口库 ..> 实例库:依赖
|
||
main线程 --> 抽象接口代码库:链接
|
||
main线程 --> 实例代码库:链接
|
||
```
|
||
1. 应用代码只使用抽象接口,禁止直接依赖实例代码;
|
||
2. 应用代码只有在main线程初始化时实例化实例模块即可;
|
||
3. 多态单例模块由两个库组成,一个是抽象接口库,一个是实例代码库,支持静态多态和动态多态;
|
||
|
||
|
||
### 1.1.2. 根据软件模块作用域分层
|
||
|
||
#### 1.1.2.1. 工具库(utils)
|
||
|
||
##### 1.1.2.1.1. 日志库
|
||
|
||
###### 1.1.2.1.1.1. 日志库概述
|
||
   提供程序的日志管理功能,含日志的实时打印/保存/跟踪(实时上传云端)。
|
||
|
||
###### 1.1.2.1.1.2. 日志库设计模式
|
||
   C语言接口的多态单例模式,可动态/静态加载多态实例。 |