【转】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的设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】异步编程:.NET 4.5 基于任
- 下一篇: 16万起!股神巴菲特最后的慈善午餐仅1人