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
8f64f21161
commit
e3f407af27
|
@ -66,15 +66,53 @@ libLogAbstract.a -->> -User:return
|
|||
|
||||
### 1.4.2. 根据软件模块作用域分层
|
||||
|
||||
#### 1.4.2.1. 工具库(utils)
|
||||
#### 1.4.2.1. 应用层(application)
|
||||
|
||||
##### 1.4.2.1.1. 工具库概述
|
||||
   工具库是功能单一的不依赖任何三方库的独立库,必须提供C语言接口,内部实现不限于C或者C++。
|
||||
##### 1.4.2.1.1. 应用层概述
|
||||
   应用层负责处理产品级的复杂业务关系,是产品功能的直接体现,应用层模块全部使用C++接口的多态单例模式设计,各模块之间可以互相调用接口。
|
||||
|
||||
##### 1.4.2.1.2. 日志库
|
||||
##### 1.4.2.1.2. 网络服务模块
|
||||
|
||||
###### 1.4.2.1.2.1. 日志库概述
|
||||
###### 1.4.2.1.2.1. 网络服务概述
|
||||
   根据产品联网属性,网络服务模块分为不联网 / 联网(B端)/ 联网(自研)三个多态属性。联网时,IPC的图片 / 视频资源通过网络服务器进行管理。
|
||||
|
||||
1. 不联网版本:网络服务模块不实例化即可;
|
||||
2. 联网(B端):媒体资源由三方服务器管理;
|
||||
3. 联网(自研):媒体资源由自研服务器管理;
|
||||
|
||||
###### 1.4.2.1.2.2. 网络服务多态设计模式
|
||||
   通过构建配置文件选择需要实例化的网络服务模块代码。
|
||||
|
||||
#### 1.4.2.2. 组件层(component)
|
||||
|
||||
#### 1.4.2.3. 适配层(hal)
|
||||
|
||||
#### 1.4.2.4. 工具库(utils)
|
||||
|
||||
##### 1.4.2.4.1. 工具库概述
|
||||
   工具库是功能单一的不依赖任何三方库的独立库(日志库和返回码管理库除外),必须提供C语言接口,内部实现不限于C或者C++。工具类库可以被任意的其它模块调用,特别指hal/component/application三大层级。
|
||||
|
||||
##### 1.4.2.4.2. 日志库
|
||||
|
||||
###### 1.4.2.4.2.1. 日志库概述
|
||||
   提供程序的日志管理功能,含日志的实时打印/保存/跟踪(实时上传云端)。
|
||||
|
||||
###### 1.4.2.1.2.2. 日志库设计模式
|
||||
   C语言接口的多态单例模式,可动态/静态加载多态实例。
|
||||
###### 1.4.2.4.2.2. 日志库设计模式
|
||||
   C语言接口的多态单例模式,可动态/静态加载多态实例。
|
||||
|
||||
###### 1.4.2.4.2.3. 日志库启动
|
||||
   日志库是否启用一般来讲是dubug版本启用日志功能,release版本禁用日志功能,考虑到release版本的维护问题,标准启动时,main线程在启动时使用dlopen系列函数去加载日志库(多态),特殊版本仍可在main线程加载日志库后,二次实例化日志库(多态)来实现不同的日志功能。
|
||||
|
||||
1. 标准流程:main线程加载sd卡动态库,如有即可动态实现日志功能,正常出货sd卡不带日志库,此时没有日志功能;
|
||||
2. 可以通过配置参数决定是否启用日志;
|
||||
3. sd卡的日志动态,根据实际售后维护,可以是实时打印log/保存本地log/云log的多态实例库;
|
||||
4. 多态日志功能,可以忽略debug和release版本的区别,只发布一个版本即可;
|
||||
|
||||
##### 1.4.2.4.3. 返回码管理库
|
||||
|
||||
###### 1.4.2.4.3.1. 返回码管理库概述
|
||||
   提供整个应用程序的返回码管理功能,例如:打印返回码的字符串含义。提供C语言接口,内部实现不限于C或者C++,形成项目内部唯一返回码标准。
|
||||
|
||||
1. 创建返回码操作“句柄”;
|
||||
2. 打印返回码/获取返回码(字符串);
|
||||
3. 不同的模块可继承实现各自的返回码处理接口;
|
Loading…
Reference in New Issue
Block a user