ABP源码分析十四:Entity的设计
2016-03-28 16:07
309 查看
IEntity<TPrimaryKey>: 封装了PrimaryKey:Id,这是一个泛型类型
IEntity: 封装了PrimaryKey:Id,这是一个int类型
Entity<TPrimaryKey> :支持主键是泛型类型的Entity
Entity:支持主键是int类型的Entity
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328155935394-1163145902.png)
IHasCreationTime: 封装了CreationTime
ICreationAudited: 封装了CreatorUserId,这个是long类型
CreationAuditedEntity<TPrimaryKey> : 支持主键是泛型类型的Entity,并且封装了CreationTime 和 CreatorUserId
CreationAuditedEntity: 只支持主键是int类型的Entity,并且封装了CreationTime 和 CreatorUserId
ICreationAudited<TUser> :封装了泛型类型的creator
CreationAuditedEntity<TPrimaryKey, TUser> : 支持主键是泛型类型,并且封装了泛型类型的creator的Entity
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160000644-552635777.png)
ISoftDelete:封装了软删除的标志IsDeleted
IHasDeletionTime:封装了DeletionTime
IDeletionAudited:封装了DeleterUserId,这个是long类型
IDeletionAudited: 封装了泛型类型的DeleterUser
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160016894-1147505341.png)
IHasModificationTime:封装了LastModificationTime
IModificationAudited: 封装了LastModifierUserId,这个是long类型
IModificationAudited<TUser> : 封装了泛型类型的LastModifierUser
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160028363-67037269.png)
IAudited:从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型
AuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型
AuditedEntity: 与AuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity。
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160207660-252067268.png)
AuditedEntity<TPrimaryKey, TUser> :与AuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser和CreatorUser。
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160216894-1260573821.png)
IAudited:从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型
FullAuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型
FullAuditedEntity:与FullAuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160226551-1479460478.png)
FullAuditedEntity<TPrimaryKey, TUser> :与FullAuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser,CreatorUser 和 deleteuser。
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160237488-1379507318.png)
以下是最终的类层次结构。
![](https://images2015.cnblogs.com/blog/4776/201604/4776-20160429082310939-1984201560.png)
返回ABP源码分析系列文章目录
IEntity: 封装了PrimaryKey:Id,这是一个int类型
Entity<TPrimaryKey> :支持主键是泛型类型的Entity
Entity:支持主键是int类型的Entity
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328155935394-1163145902.png)
IHasCreationTime: 封装了CreationTime
ICreationAudited: 封装了CreatorUserId,这个是long类型
CreationAuditedEntity<TPrimaryKey> : 支持主键是泛型类型的Entity,并且封装了CreationTime 和 CreatorUserId
CreationAuditedEntity: 只支持主键是int类型的Entity,并且封装了CreationTime 和 CreatorUserId
ICreationAudited<TUser> :封装了泛型类型的creator
CreationAuditedEntity<TPrimaryKey, TUser> : 支持主键是泛型类型,并且封装了泛型类型的creator的Entity
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160000644-552635777.png)
ISoftDelete:封装了软删除的标志IsDeleted
IHasDeletionTime:封装了DeletionTime
IDeletionAudited:封装了DeleterUserId,这个是long类型
IDeletionAudited: 封装了泛型类型的DeleterUser
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160016894-1147505341.png)
IHasModificationTime:封装了LastModificationTime
IModificationAudited: 封装了LastModifierUserId,这个是long类型
IModificationAudited<TUser> : 封装了泛型类型的LastModifierUser
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160028363-67037269.png)
IAudited:从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型
AuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型
AuditedEntity: 与AuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity。
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160207660-252067268.png)
AuditedEntity<TPrimaryKey, TUser> :与AuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser和CreatorUser。
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160216894-1260573821.png)
IAudited:从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型
FullAuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型
FullAuditedEntity:与FullAuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160226551-1479460478.png)
FullAuditedEntity<TPrimaryKey, TUser> :与FullAuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser,CreatorUser 和 deleteuser。
![](https://images2015.cnblogs.com/blog/4776/201603/4776-20160328160237488-1379507318.png)
以下是最终的类层次结构。
![](https://images2015.cnblogs.com/blog/4776/201604/4776-20160429082310939-1984201560.png)
返回ABP源码分析系列文章目录
相关文章推荐
- LibSVM for Python 使用
- 用C++设计一个不能被继承的类
- ua curry shoes to elder sister
- Ubuntu 上搭建SVN 服务器
- 1000行代码写小游戏(二)
- 关于Mongodb的一些小问题
- 新增功能之一:Dashboard
- phpstorm配置
- lintcode:k Sum II
- 结对编程——阶段总结
- RESTFul中的那些事(1)---在RESTFul中,HTTP Put和Patch操作的差别?
- 怎样把pdf转换成excel表格格式
- JavaScript之基础-11 JavaScript 包装类对象(Math、Date、Number、Boolean)
- 1008. 数组元素循环右移问题 (20)
- 服务器共享时 删除链接,用新的用户名密码进行连接
- The Ultimate Guide To iPhone Resolutions
- 面向对象划分--ERP销售订单、生产工单、料号
- jsp 9大内置对象
- (5)文本挖掘(二)——中英文分词
- 查看linux服务器上mysql配置文件路径