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。
以下是最終的類層次結構。