【转】ABP源码分析十四:Entity的设计
IEntity<TPrimaryKey>: 封装了PrimaryKey:Id,这是一个泛型类型
IEntity: 封装了PrimaryKey:Id,这是一个int类型
Entity<TPrimaryKey> :支持主键是泛型类型的Entity
Entity:支持主键是int类型的Entity
IHasCreationTime: 封装了CreationTime
ICreationAudited: 封装了CreatorUserId,这个是long类型
CreationAuditedEntity<TPrimaryKey> : 支持主键是泛型类型的Entity,并且封装了CreationTime 和 CreatorUserId
CreationAuditedEntity: 只支持主键是int类型的Entity,并且封装了CreationTime 和 CreatorUserId
ICreationAudited<TUser> :封装了泛型类型的creator
CreationAuditedEntity<TPrimaryKey, TUser> : 支持主键是泛型类型,并且封装了泛型类型的creator的Entity
ISoftDelete:封装了软删除的标志IsDeleted
IHasDeletionTime:封装了DeletionTime
IDeletionAudited:封装了DeleterUserId,这个是long类型
IDeletionAudited: 封装了泛型类型的DeleterUser
IHasModificationTime:封装了LastModificationTime
IModificationAudited: 封装了LastModifierUserId,这个是long类型
IModificationAudited<TUser> : 封装了泛型类型的LastModifierUser
IAudited:从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型
AuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型
AuditedEntity: 与AuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity。
AuditedEntity<TPrimaryKey, TUser> :与AuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser和CreatorUser。
IAudited:从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型
FullAuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型
FullAuditedEntity:与FullAuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity
FullAuditedEntity<TPrimaryKey, TUser> :与FullAuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser,CreatorUser 和 deleteuser。
以下是最终的类层次结构。
返回ABP源码分析系列文章目录
【转】ABP源码分析十四:Entity的设计相关推荐
- 【转】ABP源码分析十:Unit Of Work
ABP以AOP的方式实现UnitOfWork功能.通过UnitOfWorkRegistrar将UnitOfWorkInterceptor在某个类被注册到IOCContainner的时候,一并添加到该类 ...
- 【转】ABP源码分析十九:Auditing
审计跟踪(也叫审计日志)是与安全相关的按照时间顺序的记录,它们提供了活动序列的文档证据,这些活动序列可以在任何时间影响一个特定的操作. AuditInfo:定义如下图中需要被Audit的信息. Aud ...
- 【转】ABP源码分析十六:DTO的设计
IDTO:空接口,用于标注Dto对象. ComboboxItemDto:用于combobox/list中Item的DTO NameValueDto<T>/NameValueDto:用于na ...
- 【转】ABP源码分析十五:ABP中的实用扩展方法
类名 扩展的类型 方法名 参数 作用 XmlNodeExtensions XmlNode GetAttributeValueOrNull attributeName Gets an attribu ...
- 【转】ABP源码分析十八:UI Inputs
以下图中描述的接口和类都在Abp项目的Runtime/Validation, UI/Inputs目录下的.在当前版本的ABP(0.83)中这些接口和类并没有实际使用到.阅读代码时可以忽略,无需浪费时间 ...
- 【转】ABP源码分析十二:本地化
本文逐个分析ABP中涉及到localization的接口和类,以及他们之间的关系.本地化主要涉及两个方面:一个是语言(Language)的管理,这部分相对简单.另一个是语言对应得本地化资源(Local ...
- GCC源码分析(十四) — rtx结构体,指令与栈分配
版权声明:本文为CSDN博主「ashimida@」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/lidan1 ...
- [Abp 源码分析]十六、后台作业与后台工作者
0. 简介 在某些时候我们可能会需要执行后台任务,或者是执行一些周期性的任务.比如说可能每隔 1 个小时要清除某个临时文件夹内的数据,可能用户会要针对某一个用户群来群发一组短信.前面这些就是典型的应用 ...
- 【转】ABP源码分析一:整体项目结构及目录
ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序. 整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module ...
最新文章
- Storm Trident示例function, filter, projection
- 深度学习-强化学习-图神经网络-自然语言处理等AI课程超级大列表-最新版
- 导致网速变慢的安全隐患
- 下列关于python的描述正确的是-下列关于Python的说法,错误的是()。_学小易找答案...
- 【C++ 语言】引用 ( 引用简介 | 指针常量 | 常量指针 | 常引用 | 引用参数 | 引用 指针 对比 )
- java 引用队列_Java中的方法队列
- MySQL 数据库命令之 mysqlshow -- 显示 MySQL 数据库相关信息
- Spring 定时任务的几种实现
- 利用日志传送来实现数据库的可用性
- Hibernate的执行流程——SessionFactory的创建
- Springboot 应用部署建议
- 程序员面试金典——3.3集合栈
- C++之std::bind()用法
- hsql mysql_HSQL简介
- 计算机不驱动u盘启动,电脑U盘驱动没有启用的解决方法
- OpenGL 4.0 GLSL 采用平行光照模型
- WebBrowser抓图示例——截取网页上的验证码图片
- PYTHON MIP 算法实现
- FPGA零基础学习:数字通信中的电压标准
- 南非监管机构严厉打击Facebook的联系人共享
热门文章
- 诗词歌赋,样样精通!诗词古语小程序带你领略魅力古风丨实战
- 新功能:php-laravel记录来访人员的IP以及所在区域
- java中的Sort函数,你值得看
- 前端现在到底需要什么样的人才
- ASP.NET 安全认证(二)——灵活运用deny与allow 及保护.htm等文件
- GARFIELD@04-02-2005
- [小错误][JAVA][数组初始化]数组静态初始化和动态初始化不能混用
- pythonxml模块高级用法_Python利用ElementTree模块处理XML的方法详解
- golang 没有名字参数_Go 返回参数命名
- mysql参数化查询为什么可以实现_为什么参数化SQL查询可以防止SQL注入?