mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
backup.
This commit is contained in:
parent
e09b0f1049
commit
83b1ed75b6
|
@ -1,11 +1,38 @@
|
|||
# 1. 设计文档
|
||||
|
||||
## 1.1. 软件设计
|
||||
## 1.1. 产品概述
|
||||
|
||||
### 1.1.1. 多态单例设计模式
|
||||
## 1.2. 结构设计
|
||||
1. 迷彩外观;
|
||||
2. 抽屉式电池箱组;
|
||||
3. 捆绑/相机支架安装方式;
|
||||
4. 案件翻盖保护;
|
||||
5. 可拓展4G模块;
|
||||
6. 户外防水;
|
||||
|
||||
## 1.3. 硬件设计
|
||||
|
||||
### 1.3.1. 关键外设
|
||||
1. 摄像头;
|
||||
2. PIR sensor;
|
||||
3. IR leds;
|
||||
4. 电池(箱体);
|
||||
5. 启动模式拨键(三键);
|
||||
6. 按键:同步/复位/格式化;
|
||||
7. SD card;
|
||||
8. usb接口;
|
||||
9. NFC(绑定APP);
|
||||
10. 光感传感器:白天/黑夜;
|
||||
11. 指示灯:设备状态/SD卡状态/电量/无线信号灯/账号状态;
|
||||
|
||||
### 1.3.2. 生产测试/研发调试
|
||||
|
||||
## 1.4. 软件设计
|
||||
|
||||
### 1.4.1. 多态单例设计模式
|
||||
   多态单例模式包含两部分:抽象接口 + 抽象接口实例,代码基于抽象接口存在,业务基于抽象接口实例存在。
|
||||
|
||||
#### 1.1.1.1. 多态单例图示
|
||||
#### 1.4.1.1. 多态单例图示
|
||||
   下述图示分别为:类图 / 依赖关系图 / 编译链接关系图
|
||||
```mermaid
|
||||
classDiagram
|
||||
|
@ -16,19 +43,38 @@ classDiagram
|
|||
main线程 --> 抽象接口代码库:链接
|
||||
main线程 --> 实例代码库:链接
|
||||
```
|
||||
#### 1.4.1.2. 多态单例模块使用时序图
|
||||
   在使用多态单例设计模式开发功能模块时,使用统一的命名规则:
|
||||
* 抽象接口命名:xxx + Abstract,例如:libLogAbstract.a;
|
||||
* 实例库命名:xxx + 具体实例名称,例如:libLogEasylogging.a;
|
||||
|
||||
**调用关系如下图**
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
User ->> +libLogAbstract.a:调用抽象接口
|
||||
libLogAbstract.a --> +libLogEasylogging.a:实际调用实例接口
|
||||
libLogEasylogging.a --> -libLogAbstract.a:return
|
||||
libLogAbstract.a -->> -User:return
|
||||
```
|
||||
**只有main函数实际调用实例库的实例化接口时,log功能才会生效。**
|
||||
|
||||
#### 1.4.1.3. 多态单例总结:
|
||||
1. 应用代码只使用抽象接口,禁止直接依赖实例代码;
|
||||
2. 应用代码只有在main线程初始化时实例化实例模块即可;
|
||||
3. 多态单例模块由两个库组成,一个是抽象接口库,一个是实例代码库,支持静态多态和动态多态;
|
||||
|
||||
|
||||
### 1.1.2. 根据软件模块作用域分层
|
||||
### 1.4.2. 根据软件模块作用域分层
|
||||
|
||||
#### 1.1.2.1. 工具库(utils)
|
||||
#### 1.4.2.1. 工具库(utils)
|
||||
|
||||
##### 1.1.2.1.1. 日志库
|
||||
##### 1.4.2.1.1. 工具库概述
|
||||
   工具库是功能单一的不依赖任何三方库的独立库,必须提供C语言接口,内部实现不限于C或者C++。
|
||||
|
||||
###### 1.1.2.1.1.1. 日志库概述
|
||||
##### 1.4.2.1.2. 日志库
|
||||
|
||||
###### 1.4.2.1.2.1. 日志库概述
|
||||
   提供程序的日志管理功能,含日志的实时打印/保存/跟踪(实时上传云端)。
|
||||
|
||||
###### 1.1.2.1.1.2. 日志库设计模式
|
||||
###### 1.4.2.1.2.2. 日志库设计模式
|
||||
   C语言接口的多态单例模式,可动态/静态加载多态实例。
|
Loading…
Reference in New Issue
Block a user