编辑 | blame | 历史 | 原始文档

领域模型设计

一、术语与定义

英文缩写 英文全称 中文翻译

二、业务流程

不涉及

三、数据类型

数据类型采用的是C#的数据类型,主要有下面的一些类型:

数据类型 含义 最小值/最大值/精度 占用空间 说明
bool 布尔值 false/true 1字节
sbyte 超短整型 -128127 1字节
byte 无符号超短整型 0255 1字节
short 短整型 -32,76832,767 2字节
ushort 无符号短整型 065,535 2字节
int 整型 -2,147,483,6482,147,483,647 4字节
uint 无符号整型 04,294,967,295 4字节
long 长整型 -9,223,372,036,854,775,8089,223,372,036,854,775,807 8字节
ulong 无符号长整型 0/18,446,744,073,709,551,615 8字节
float 单精度浮点数 -3.40282347E+38/F3.40282347E+38F/6~7位有效数字 4字节
double 双精度浮点数 -1.7976931348623157E+308/1.7976931348623157E+308/15~16位有效数字 8字节
DateTime 日期时间 0000-01-01 00:00:00.0000000/9999-12-31 23:59:59.9999999/100ns 8字节 统一使用UTC时间进行传输和存储。
TimeSpan 时间跨度 -10,675,199.02:48:05.4775808/10,675,199.02:48:05.4775807100ns 8字节
string 字符串 n字节 统一使用UTF8编码进行传输和存储。
Complex 复数 16字节
IList 列表 [0]~[n-1] n * sizeof(T)
ICollection 集合 n * sizeof(T) 与IList类似,只是没有顺序关系。

四、实体(Entity)及聚合根(AggregateRoot)

实体是模型中需要区分个体的对象,拥有标识、数据和行为。实体有标识,允许变化,判断两个实体相等的标准是标识相等。聚合(Aggregate)表示一组领域对象(包括实体和值对象),用来表述一个完整的领域概念。而每个聚合都有一个根实体,这个根实体又叫做聚合根。聚合根是聚合所表述的领域概念的主体,外部对象需要访问聚合内的实体时,只能通过聚合根进行访问,而不能直接访问。

五、枚举

六、值对象(ValueObject)

值对象是通过属性来识别的对象,它将多个相关属性组合为一个概念整体。值对象没有标识,不允许变化,判断两个值对象相等的标准是值对象内部所有属性值相等。

六、领域服务

不涉及

七、领域事件

不涉及

八、其他

不涉及

九、参考引用

不涉及