Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yang2765
Docs
提交
ba7e2f5f
D
Docs
项目概览
yang2765
/
Docs
与 Fork 源项目一致
Fork自
OpenHarmony / Docs
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
ba7e2f5f
编写于
1月 19, 2022
作者:
J
jady3356
提交者:
Gitee
1月 19, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/design/OpenHarmony部件设计和开发指南.md.
Signed-off-by:
N
yangming_ha
<
yangming_ha@163.com
>
上级
bb0db538
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
32 deletion
+32
-32
zh-cn/design/OpenHarmony部件设计和开发指南.md
zh-cn/design/OpenHarmony部件设计和开发指南.md
+32
-32
未找到文件。
zh-cn/design/OpenHarmony部件设计和开发指南.md
浏览文件 @
ba7e2f5f
...
...
@@ -10,25 +10,7 @@ OpenHarmony参考机械装配领域的零部件的概念将系统能力抽象为
部件是体现系统能力的基本单元,以源码为划分依据,具有独立的文件和目录,在不同设备上可以实例化为相应的库或可执行文件。
## 部件设计
### 1、设计原则
部件在设计和开发时应遵循如下规则和建议:
**规则1.1**
部件应当实现独立自制原则,保持部件本身的解耦和独立自治。
**规则1.2**
部件应该去中心化治理,部件间的依赖关系应简单清晰合理。
**规则1.3**
禁止部件间反向依赖、循环依赖,下层部件禁止依赖上层部件。
**规则1.4**
禁止部件的实现依赖特定的开发板或产品形态。
**规则1.5**
部件接口应保持稳定,已发布的接口不能变化,保持接口兼容。
**建议1.1**
部件应支持自动化构建和验证的能力。
### 2、划分原则
## 部件划分
部件按照如下原则进行划分:
...
...
@@ -48,15 +30,32 @@ OpenHarmony参考机械装配领域的零部件的概念将系统能力抽象为
-
如果部件可拆分出更小的功能模块并向应用提供API,称这类模块为
**子部件**
,跟随父部件一起部署,无法独立部署。子部件依赖父部件,但父部件不允许依赖子部件。
### 3、部件、仓、路径命名和目录树
### 基本原则
部件在设计和开发时应遵循如下规则和建议:
**规则1.1**
部件应当实现独立自制原则,保持部件本身的解耦和独立。
**规则1.2**
部件应该去中心化治理,部件间的依赖关系应简单清晰合理。
**规则1.3**
禁止部件间反向依赖、循环依赖,下层部件禁止依赖上层部件。
**规则1.4**
禁止部件的实现依赖特定的开发板或产品形态。
**规则1.5**
部件接口应保持稳定,已发布的接口不能变化,保持接口兼容。
**建议1.1**
部件应支持自动化构建和验证的能力。
### 命名规则
#### **部件名:**
为名词形式,需体现部件的功能,在系统内全局唯一,不超过63个有效英文字符,使用内核风格命名,例如:unix_like。
英文名:名词形式,需体现部件的功能,在系统内全局唯一,不超过63个有效英文字符,使用小写加下划线的内核风格命名,例如:unix_like。
中文名:名词形式,需体现部件的功能,不超过16个中文字符,不建议中英文混合。
#### **仓名:**
部件仓名
命名规则:
<子系统名>
_<部件名>,例如:文件管理子系统的存储服务部件的仓名为“filemanagement_
storage_service”
。
部件仓名
使用英文,命名规则:
<子系统>
_<部件>,例如:文件管理子系统的存储服务部件的仓名为“filemanagement_
storage_service”。仓名总长度不超过100个字符
。
> 说明:
>
...
...
@@ -68,21 +67,21 @@ OpenHarmony参考机械装配领域的零部件的概念将系统能力抽象为
#### **路径:**
部件
根目录路径规则:
<领域>
/
<子系统>
/
<部件>
, 例如:foundation/filemanagement/storage_service
部件
目录使用英文,路径规则:
<领域>
/
<子系统>
/
<部件>
, 例如:foundation/filemanagement/storage_service。
#### **部件目录结构:**
```
xml
├── interfaces # 接口
│ ├── kits # 应用接口,可选
│ │ ├── js #
js
接口,可选
│ │ └── native #
c/c
++接口,可选
│ │ ├── js #
JS
接口,可选
│ │ └── native #
C/C
++接口,可选
│ └── inner_api # 系统内部件间接口
├── frameworks # 部件无独立进程的实现,可选
│ ├── native #
c/c
++实现,可选
│ ├── native #
C/C
++实现,可选
│ └── js # JS API的实现,可选
│ ├── napi # napi代码实现,可选
│ ├── builtin # 仅用于
liteos-m
,可选
│ ├── builtin # 仅用于
LiteOS-M
,可选
│ └── plugin # Ark UI特有,可选
├── services # 独立进程的实现,可选
├── test # 测试代码,必选
...
...
@@ -95,16 +94,17 @@ OpenHarmony参考机械装配领域的零部件的概念将系统能力抽象为
部件的新增、合并、删除需经架构SIG(Special Interest Group)和
[
相关领域的SIG leader
](
https://gitee.com/openharmony/community/blob/master/sig/sigs_subsystem_list.md
)
评审,流程如下:
1、准备如下的部件属性列表:
表1. 部件属性评审表
| 部件属性 | 说明 |
| ------------ | ------------------------------------------------------------ |
| 英文名称 |
为名词形式,需体现部件的功能,在系统内全局唯一,不超过63个有效英文字符,使用内核风格命名,例如:unix_like。
|
| 中文名称 | 名
称
形式,需体现部件的功能,不超过16个中文字符,不建议中英文混合。 |
| 英文名称 |
名词形式,需体现部件的功能,在系统内全局唯一,不超过63个有效英文字符,使用小写加下划线的内核风格命名,例如:unix_like。
|
| 中文名称 | 名
词
形式,需体现部件的功能,不超过16个中文字符,不建议中英文混合。 |
| 子系统 | 部件归属的子系统 |
| 功能描述 | 一句话简要描述部件功能,100字以内。 |
| 可配置特性 | 部件对外可配置的特性。 |
| 适用系统类型 | 部件适用的系统类型:小型、轻量和标准,可以
是
支持多种。 |
| 适用系统类型 | 部件适用的系统类型:小型、轻量和标准,可以
同时
支持多种。 |
| 源码目录 | 部件的源码根目录。 |
| ROM | 部件设计的ROM基线值。 |
| RAM | 部件设计的RAM基线值。 |
...
...
@@ -115,5 +115,4 @@ OpenHarmony参考机械装配领域的零部件的概念将系统能力抽象为
> 说明:部件修改/合并需提供修改/合并前后部件属性,提供待删除的部件停止维护的计划。删除和合并部件要谨慎,要评估对存量版本的影响。
3、评审通过后,请按
[
SIG管理章程
](
https://gitee.com/openharmony/community/tree/master/sig
)
新建部件仓和修改manifest,SIG孵化完成后合入OpenHarmony组织代码主库。
3、评审通过后,请按
[
SIG管理章程
](
https://gitee.com/openharmony/community/tree/master/sig
)
新建部件仓和修改manifest,SIG孵化完成后合入OpenHarmony组织代码主库。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录