当前位置:   article > 正文

ABP VNext学习日记8_abp fullauditedaggregateroot

abp fullauditedaggregateroot

1.事件总线
解析:事件总线是将消息从发送方传输到接收方的中介,它在对象、服务和应用程序之间提供了一种松散耦合的通信方式。
[1]本地事件总线:适合进程内消息传递
[2]分布式事件总线:适合进程间消息传递,比如微服务发布和订阅分布式事件

2.ABP虚拟文件系统
解析:abp add-package Volo.Abp.VirtualFileSystem

3.PreConfigureServices和PostConfigureServices
解析:
[1]AbpModule类定义了PreConfigureServices和PostConfigureServices方法用来在ConfigureServices之前或之后覆盖和编写代码
[2]在这些方法中编写的代码将在所有其它模块的ConfigureServices方法之前/之后执行

4.OnPreApplicationInitialization和OnPostApplicationInitialization
解析:
[1]AbpModule类还定义了OnPreApplicationInitialization和OnPostApplicationInitialization方法用来在OnApplicationInitialization之前或之后覆盖和编写代码
[2]在这些方法中编写的代码将在所有其它模块的OnApplicationInitialization方法之前/之后执行

5.框架模块和应用程序模块异同
解析:
[1]框架模块:这些是框架的核心模块。比如缓存、邮件、主题、安全、序列化、验证、EF Core集成、MongoDB集成等。它们没有应用/业务功能,它们提供了日常开发经常用到的通用基础设施、集成和抽象
[2]应用程序模块:这些模块实现了特定的应用/业务功能。比如博客、文档管理、身份管理、租户管理等。它们通常有自己的实体、服务、API和UI组件
说明:推荐为每个模块定义单独的DbContext接口和类。

6.聚合
解析:聚合是域驱动设计中的一种模式,DDD的聚合是一组可以作为一个单元处理的域对象。比如,订单及订单系列的商品,这些是独立的对象,但将订单[连同订单系列的商品]视为一个聚合通常是很有用的。

7.应用服务生命周期
解析:应用服务的生命周期是transient的,它们会自动注册到依赖注入系统。

8.审计DTO
解析:
[1]CreationAuditedEntityDto
[2]CreationAuditedEntityWithUserDto
[3]AuditedEntityDto
[4]AuditedEntityWithUserDto
[5]FullAuditedEntityDto
[6]FullAuditedEntityWithUserDto

9.可扩展的DTO
解析:
[1]ExtensibleObject实现IHasExtraProperties
[2]ExtensibleEntityDto
[3]ExtensibleCreationAuditedEntityDto
[4]ExtensibleCreationAuditedEntityWithUserDto
[5]ExtensibleAuditedEntityDto
[6]ExtensibleAuditedEntityWithUserDto
[7]ExtensibleFullAuditedEntityDto
[8]ExtensibleFullAuditedEntityWithUserDto

10.ABP工作单元
解析:ABP框架的工作单元[UOW]实现提供了对应用程序中的数据库连接和事务范围的抽象和控制。

11.ABP多租户
解析:Install-Package Volo.Abp.MultiTenancy

12.动态C# API客户端
解析:ABP可以自动创建C# API客户端代理来调用远程HTTP服务[REST APIS]。通过这种方式不需要通过HttpClient或者其它低级的HTTP功能调用远程服务并获取数据。

13.ABP Dapper集成
解析:Install-Package Volo.Abp.Dapper

14.ABP SignalR集成
解析:abp add-package Volo.Abp.AspNetCore.SignalR

15.开源的应用程序模块
解析:
[1]Account:提供账户管理UI,并允许用户登录/注册应用程序
[2]Audit Logging:用于将审计日志持久化到数据库
[3]Background Jobs:用于在使用默认后台作业管理器时保存后台作业
[4]Blogging:用于创建精美的博客,比如ABP的博客就使用了此模块
[5]Docs: 用于创建技术文档页面。比如,ABP的文档就使用了此模块
[6]Feature Management:用于保存和管理功能
[7]Identity:基于Microsoft Identity管理组织单元、角色、用户和它们的权限
[8]Identity Server:集成了IdentityServer4
[9]Permission Management:用于保存权限
[10]Setting Management:用于保存设置
[11]Tenant Management:管理多租户应用程序的租户
[12]Users:抽象用户,因此其它模块可以依赖此模块而不是Identity模块
[13]Virtual File Explorer:提供简单的UI查看虚拟文件系统中的文件

16.MSI文件
解析:MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装和卸载程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。此外,它还包含有关安装过程本身的信息:如安装序列、目标文件夹路径、系统依赖项、安装选项和控制安装过程的属性。

17.自动注册
解析:
[1]按约定[所有的模块类、所有的控制器]
[2]按依赖接口
[3]按依赖特性

18.Volo.Abp.Domain.Entities.Auditing.FullAuditedAggregateRoot<Guid>
解析:Implements IFullAuditedObject to be a base class for full-audited aggregate roots.

19.Volo.Abp.Threading.OneTimeRunner
解析:This class is used to ensure running of a code block only once. It can be instantiated as a static object to ensure that the code block runs only once in the application lifetime.

20.Microsoft.EntityFrameworkCore.ModelBuilder
解析:提供一个简单的API来配置一个IMutableModel,它定义了实体的形状,它们之间的关系,以及它们如何映射到数据库。

21.Volo.Abp.Application.Services.IApplicationService
解析:This interface must be implemented by all application services to register and identify them by convention.

22.Volo.Abp.Application.Dtos.PagedAndSortedResultRequestDto
解析:Simply implements IPagedAndSortedResultRequest.

23.Microsoft.AspNetCore.Authorization.AuthorizeAttribute.AuthorizeAttribute(string policy)
解析:用指定策略初始化一个AuthorizeAttribute的新实例。

24.Volo.Abp.Auditing.IHasCreationTime
解析:A standard interface to add CreationTime property.

25.对仓储的理解
解析:DDD中的仓储就是在领域层和ORM之间加了一个抽象层,从而使领域层和ORM进行了解耦。
[1]仓储用来协调领域[实体]和数据映射层[ORM],领域层通过仓储访问持久化系统
[2]仓库是领域模型和数据模型之间的中介
[2]每一个聚合都有一个单独的仓储
[3]仓库只能通过聚合根来持久化和检索领域对象

参考文献:
[1]模块化架构最佳实践&约定:https://docs.abp.io/zh-Hans/abp/latest/Best-Practices/Module-Architecture
[2]微服务解决方案示例:https://docs.abp.io/zh-Hans/abp/latest/Samples/Microservice-Demo
[3]应用程序模块:https://docs.abp.io/zh-Hans/abp/latest/Modules/Index
[4]ABP Packages:https://abp.io/packages
[5]ABP Framework路线图:https://docs.abp.io/zh-Hans/abp/latest/Road-Map
[6]ABP示例应用:https://docs.abp.io/zh-Hans/abp/latest/Samples/Index

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/184115
推荐阅读
相关标签
  

闽ICP备14008679号