ABP源码分析十四:Entity的设计

ABP源码分析十四:Entity的设计

IEntity<TPrimaryKey>: 封装了PrimaryKey:Id,这是一个泛型类型

IEntity: 封装了PrimaryKey:Id,这是一个int类型

Entity<TPrimaryKey> :支持主键是泛型类型的Entity

Entity:支持主键是int类型的Entity

ABP源码分析十四:Entity的设计

 

IHasCreationTime: 封装了CreationTime

ICreationAudited: 封装了CreatorUserId,这个是long类型

CreationAuditedEntity<TPrimaryKey> : 支持主键是泛型类型的Entity,并且封装了CreationTime 和 CreatorUserId

CreationAuditedEntity: 只支持主键是int类型的Entity,并且封装了CreationTime 和 CreatorUserId

ICreationAudited<TUser> :封装了泛型类型的creator

CreationAuditedEntity<TPrimaryKey, TUser> :  支持主键是泛型类型,并且封装了泛型类型的creator的Entity

ABP源码分析十四:Entity的设计

 

ISoftDelete:封装了软删除的标志IsDeleted

IHasDeletionTime:封装了DeletionTime

IDeletionAudited:封装了DeleterUserId,这个是long类型

IDeletionAudited: 封装了泛型类型的DeleterUser

 ABP源码分析十四:Entity的设计

 

IHasModificationTime:封装了LastModificationTime

IModificationAudited: 封装了LastModifierUserId,这个是long类型

IModificationAudited<TUser> :  封装了泛型类型的LastModifierUser

 ABP源码分析十四:Entity的设计

 

IAudited:从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型

AuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型

AuditedEntity: 与AuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity。

 ABP源码分析十四:Entity的设计

 

AuditedEntity<TPrimaryKey, TUser> :与AuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser和CreatorUser。

ABP源码分析十四:Entity的设计

 

 

IAudited:从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型

FullAuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型

FullAuditedEntity:与FullAuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity

 ABP源码分析十四:Entity的设计

 

FullAuditedEntity<TPrimaryKey, TUser> :与FullAuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser,CreatorUser 和 deleteuser。

ABP源码分析十四:Entity的设计

 

以下是最终的类层次结构。

ABP源码分析十四:Entity的设计

 

返回ABP源码分析系列文章目录

转载于:https://www.cnblogs.com/1zhk/p/5329393.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109103.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 联想笔记本电脑键盘灯怎么开启_联想键盘灯怎么开

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。联想笔记本键盘灯的打开方法如下:1、正常情况下,在键盘上同时按下“FN”和“空格”键打开即可。2、部分早期的Thinkpad笔记本电脑需要通过“Fn+PageUp”组合键开启。如果电脑键盘的“Space(空格键)”按键上有类似太阳的标识符号,电脑一般带有键盘背光,使用“Fn+Space(空格键)”组合键即可开启键盘背光。若“Sp…

  • webstorm 插件_vscode插件开发文档

    webstorm 插件_vscode插件开发文档webstorm集成了很多强大的前端插件。使用的时候只需要在webstorm中搜索plugin就可以出来一堆,选择需要的安装j

  • rider 激活码【中文破解版】[通俗易懂]

    (rider 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32PGH0SQB-eyJsaWNlbnNlSWQiOi…

  • 安卓学习之-ActivityManager

    安卓学习之-ActivityManagerActivityManager.MemoryInfo:系统可用内存信息ActivityManager.RecentTaskInfo:最近的任务信息ActivityManager.RunningAppProcessInfo:正在运行的进程信息ActivityManager.RunningServiceInfo:正在运行的服务信息

  • stm32开发教程_单片机STM32

    stm32开发教程_单片机STM32本博客的编写目的:一、自我总结,记录。二、分享,输出,加深思考。三、不作细致如书本般编排,尽管那样的排版很好看,但是过于耗费时间,还有很多东西没有必要说明,完全可以自己去解决,但还是尽量做好排版,便于阅读。四、尽可能举一反三,做到真正能够处理实际问题。STM32开发实战(1)目录一、概述,目的二、搭建步骤三、时钟部分案例分析四、理论总结一、

  • linux生成initramfs,Linux启动过程与initramfs

    linux生成initramfs,Linux启动过程与initramfsLinux启动过程概述这里先简单列一下Linux操作系统启动的全过程:按下电脑的电源键后,电脑通电,BIOS启动;BIOS读取硬盘的MBR,运行启动扇区中的代码,旧系统往往需要自己写启动扇区,而新系统基本上由专用的启动软件接管了,在Linux世界中,目前都是用的Grub2。由于启动扇区空间太小,放不下太复杂的代码逻辑,所以Grub2也使用了多阶段启动的策略;Grub2负责将操作系统…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号