(1).Net Core + DDD基础分层之 领域实体
(1)先看项目各层次划分,下面将从最底层逐渐详细讲解
一、创建领域实体模型基类
1.首项创建基础设施层Centa.ZJ.DriveCurse.Domain.Core【该层是把领域层的细节抽象出来】
1)新建BaseEntity抽象基类 该抽象类作为“领域层实体”最高层的基类,只存在数据库主键ID标识 [Key] 特性标签为后续生成表Id主键属性
public abstract class BaseEntity
{
[Key]
public Guid KeyId { get; set; }
}
2)新建BaseBoEntity抽象基类 继承自BaseEntity 该类领域层实体-聚合根继承 用来约束聚合根实体
3)新建BaseVoEntity抽象基类 继承自BaseEntity 该类用来约束非聚合实体 此类现在并没有任何属性
4)新建BaseObjects 领域业务对象抽象基类
2.首项创建领域层Centa.ZJ.DriveCurse.Domain.Sys【该层做为系统设置的领域层分类】后续需要自己划分业务边界分类
1)根据领域层划分 新增 BusinessObjects(业务对象)BusinessServices (业务服务) SysFactory作为该层次的生产工厂
2) 新建 Employee领域对象 再新增EmployeeEntity 领域实体,Employee作为聚合根 继承 BaseBoEntity
Employee领域对象继承BaseObjects
--------------------------------------------------------------- 聚合根继承BaseBoEntity-------------非聚合跟继承 BaseVoEntity-------------------------------------------------------------
3)新建 EmployeePermission领域对象 再新增EmployeePermissionEntity 领域实体,Employee作为聚合根 继承 BaseVoEntity
EmployeePermission如果不作为聚合根则继承BaseVoEntity 这样更容易管理