CAS
1087
2025-03-31
一、領域層優化
1.條件
XT.EBusiness.Domain:本機領域層
Volo.Abp.Ddd.Domain:Abp領域層源碼,包含所有優化的類庫參考
二、聚合根和實體優化
1.條件
IAggregateRoot
Entity
2.步驟
在XT.EBusiness.Domain項目中Product實體上增加IAggregateRoot
三、實體審計字段優化
實體審計接口如下:
1、IHasCreationTime 定義了以下屬性: CreationTime 2、IMayHaveCreator 定義了以下屬性: CreatorId 3、ICreationAuditedObject 繼承 IHasCreationTime 和 IMayHaveCreator, 所以它定義了以下屬性: CreationTime CreatorId 4、IHasModificationTime 定義了以下屬性: LastModificationTime 5、IModificationAuditedObject 擴展 IHasModificationTime 并添加了 LastModifierId 屬性. 所以它定義了以下屬性: LastModificationTime LastModifierId 6、IAuditedObject 擴展 ICreationAuditedObject 和 IModificationAuditedObject, 所以它定義了以下屬性: CreationTime CreatorId LastModificationTime LastModifierId 7、ISoftDelete (參閱 數據過濾文檔) 定義了以下屬性: IsDeleted 8、IHasDeletionTime 擴展 ISoftDelete 并添加了 DeletionTime 屬性. 所以它定義了以下屬性: IsDeleted DeletionTime 9、IDeletionAuditedObject 擴展 IHasDeletionTime 并添加了 DeleterId 屬性. 所以它定義了以下屬性: IsDeleted DeletionTime DeleterId 10、IFullAuditedObject 繼承 IAuditedObject 和 IDeletionAuditedObject, 所以它定義了以下屬性: CreationTime CreatorId LastModificationTime LastModifierId IsDeleted DeletionTime DeleterId
四、商品實體擴展字段優化
1.條件
IHasExtraProperties
XT.EBusiness.DbMigrator
2.步驟
1、在XT.EBusiness.Domain項目中Product實體上增加
IHasExtraProperties接口
2、然后執行XT.EBusiness.DbMigrator項目
屬性說明:
// 隨意增加字段導致結果 // 1、實體違背開閉原則 // 2、導致代碼不穩定 // ExtraProperties :動態適應客戶需求。動態屬性 // 使用json來存儲字段信息 // 例如:{VirturePrice:1,ProductSort:2} // 本質:就是一個字典。Dictionary // ConcurrencyStamp // 隔離線程操作:保證數據只有一個線程在處理 // 樂觀鎖的方式。
五、商品實體全部屬性優化
1.條件
FullAuditedAggregateRoot
FullAuditedEntity
XT.EBusiness.DbMigrator
2.步驟
1、在XT.EBusiness.Domain項目中Product實體上增加
FullAuditedAggregateRoot
2、在XT.EBusiness.Domain項目中Product實體上增加
FullAuditedEntity
3、然后啟動XT.EBusiness.DbMigrator項目
.NET
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。