Sparkdo.Ddd.Application.Contracts
1.0.1
.NET 10.0
This package targets .NET 10.0. The package is compatible with this framework or higher.
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Sparkdo.Ddd.Application.Contracts --version 1.0.1
NuGet\Install-Package Sparkdo.Ddd.Application.Contracts -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sparkdo.Ddd.Application.Contracts" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.Ddd.Application.Contracts" Version="1.0.1" />
<PackageReference Include="Sparkdo.Ddd.Application.Contracts" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sparkdo.Ddd.Application.Contracts --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sparkdo.Ddd.Application.Contracts, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sparkdo.Ddd.Application.Contracts@1.0.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sparkdo.Ddd.Application.Contracts&version=1.0.1
#tool nuget:?package=Sparkdo.Ddd.Application.Contracts&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Sparkdo.Ddd.Application.Contracts
Sparkdo DDD应用层契约库,提供应用服务接口定义和数据传输对象(DTO)基类。
功能特性
- 定义应用服务基础接口(CRUD操作)
- 提供常用的DTO基类(实体DTO、分页DTO等)
- 支持审计属性的DTO基类
- 支持本地化的分页请求参数验证
- 与Sparkdo框架无缝集成
安装
<PackageReference Include="Sparkdo.Ddd.Application.Contracts" Version="x.x.x" />
核心组件
应用服务接口
IApplicationService: 应用服务标记接口IReadOnlyAppService: 只读应用服务接口ICreateAppService: 创建应用服务接口IUpdateAppService: 更新应用服务接口IDeleteAppService: 删除应用服务接口ICreateUpdateAppService: 创建/更新应用服务接口ICrudAppService: 完整CRUD应用服务接口
DTO基类
EntityDto: 实体DTO基类CreationAuditedEntityDto: 包含创建审计信息的实体DTO基类AuditedEntityDto: 包含完整审计信息的实体DTO基类FullAuditedEntityDto: 包含软删除审计信息的实体DTO基类PagedResultDto: 分页结果DTOPageableRequestDto: 分页请求DTOLimitableRequestDto: 限制条数请求DTO
配置
SparkdoDddApplicationContractsModule: 模块配置类,负责注册本地化资源
扩展性
该库提供了DDD应用层的标准契约,可以通过以下方式扩展:
- 继承DTO基类创建具体的业务DTO
- 实现应用服务接口创建具体的业务应用服务
- 通过继承
LimitableRequestDto或PageableRequestDto创建自定义的请求参数类
代码结构说明
本项目包含以下主要组件:
应用服务接口
位于 Sparkdo/Application/Services 目录下:
IApplicationService.cs: 应用服务标记接口IReadOnlyAppService.cs: 只读应用服务接口ICreateAppService.cs: 创建应用服务接口IUpdateAppService.cs: 更新应用服务接口IDeleteAppService.cs: 删除应用服务接口ICreateUpdateAppService.cs: 创建/更新应用服务接口ICrudAppService.cs: 完整CRUD应用服务接口
DTO基类
位于 Sparkdo/Application/Dtos 目录下:
EntityDto.cs: 实体DTO基类CreationAuditedEntityDto.cs: 包含创建审计信息的实体DTO基类AuditedEntityDto.cs: 包含完整审计信息的实体DTO基类FullAuditedEntityDto.cs: 包含软删除审计信息的实体DTO基类PagedResultDto.cs: 分页结果DTOPageableRequestDto.cs: 分页请求DTOLimitableRequestDto.cs: 限制条数请求DTO- 各种接口定义(IEntityDto, IPagedResult等)
模块配置
SparkdoDddApplicationContractsModule.cs: 模块配置类,负责注册本地化资源
所有公共接口和类都添加了详细的XML文档注释,便于开发者理解和使用。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- JetBrains.Annotations (>= 2025.2.2)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.0)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Json (>= 10.0.0)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyModel (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Composite (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Physical (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Localization (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- Nito.AsyncEx.Context (>= 5.1.2)
- Sparkdo.Auditing.Contracts (>= 1.0.1)
- Sparkdo.Data (>= 1.0.1)
- Sparkdo.Localization (>= 1.0.1)
- System.Linq.Dynamic.Core (>= 1.7.0)
- System.Runtime.Loader (>= 4.3.0)
- System.Text.Json (>= 10.0.0)
-
net10.0
- JetBrains.Annotations (>= 2025.2.2)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Json (>= 10.0.0)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyModel (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Composite (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Physical (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Localization (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- Nito.AsyncEx.Context (>= 5.1.2)
- Sparkdo.Auditing.Contracts (>= 1.0.1)
- Sparkdo.Data (>= 1.0.1)
- Sparkdo.Localization (>= 1.0.1)
- System.Linq.Dynamic.Core (>= 1.7.0)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Sparkdo.Ddd.Application.Contracts:
| Package | Downloads |
|---|---|
|
Sparkdo.Ddd.Application
Sparkdo DDD应用层库,提供DDD应用服务的基础实现 |
|
|
Sparkdo.AspNetCore.Mvc.Contracts
Sparkdo ASP.NET Core MVC 契约库,提供MVC相关的数据传输对象和契约接口 |
|
|
Sparkdo.SettingManagement.Application.Contracts
Sparkdo 设置管理应用服务契约库,提供设置管理功能的应用服务接口定义和数据传输对象 |
|
|
Sparkdo.TenantManagement.Application.Contracts
library for the Sparkdo framework |
|
|
Sparkdo.PermissionManagement.Application.Contracts
Sparkdo 权限管理应用服务契约库,提供权限管理功能的应用服务接口定义和数据传输对象 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.2-preview.4 | 34 | 2/8/2026 |
| 1.0.2-preview.3 | 56 | 2/1/2026 |
| 1.0.2-preview.2 | 55 | 1/31/2026 |
| 1.0.2-preview.1 | 152 | 12/4/2025 |
| 1.0.1 | 608 | 11/27/2025 |
| 1.0.0 | 593 | 11/25/2025 |
| 1.0.0-preview.5 | 112 | 10/24/2025 |