Intelsoft.Platform.Domain.Core
1.0.0-beta-1
dotnet add package Intelsoft.Platform.Domain.Core --version 1.0.0-beta-1
NuGet\Install-Package Intelsoft.Platform.Domain.Core -Version 1.0.0-beta-1
<PackageReference Include="Intelsoft.Platform.Domain.Core" Version="1.0.0-beta-1" />
paket add Intelsoft.Platform.Domain.Core --version 1.0.0-beta-1
#r "nuget: Intelsoft.Platform.Domain.Core, 1.0.0-beta-1"
// Install Intelsoft.Platform.Domain.Core as a Cake Addin #addin nuget:?package=Intelsoft.Platform.Domain.Core&version=1.0.0-beta-1&prerelease // Install Intelsoft.Platform.Domain.Core as a Cake Tool #tool nuget:?package=Intelsoft.Platform.Domain.Core&version=1.0.0-beta-1&prerelease
Intelsoft.Platform.Domain.Core
Overview
The Intelsoft.Platform.Domain.Core
library provides essential building blocks for implementing domain-driven design (DDD) within the Intelsoft Platform. It includes implementations of patterns such as AggregateRoot, Entity, ValueObject, DomainEvent, Repository, and Specification.
Features
- AggregateRoot: Base class for aggregate roots in DDD, managing the root entity of an aggregate along with its bounded context.
- Entity: Base class for entities which are defined primarily by their identity.
- ValueObject: Base class for value objects which are defined by their attributes and do not have a distinct identity.
- DomainEvent: Infrastructure for domain events that are used to trigger side effects across different parts of the domain.
- Repository: Interface definitions for repositories which abstract the persistence mechanism for aggregate roots and entities.
- Specification: Framework for building business rules that can be combined and chained.
Getting Started
Prerequisites
Ensure you have the following installed:
- .NET 6.0 SDK or later
- Your preferred code editor
Installation
To use Intelsoft.Platform.Domain.Core
in your project, add it as a dependency via NuGet:
dotnet add package Intelsoft.Platform.Domain.Core --version 1.0.0-beta-1
Running the Tests
To run the tests associated with the library, navigate to the library's root directory and run:
dotnet test
Usage
Here's a simple example of how to implement an entity using Intelsoft.Platform.Domain.Core
:
public class Product : Entity
{
public string Name { get; private set; }
public decimal Price { get; private set; }
public Product(string name, decimal price)
{
Name = name;
Price = price;
}
}
Contributing
We welcome contributions! Please feel free to fork the repository, make your changes, and submit a pull request back to the main branch.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Contact
If you have any questions or suggestions, please reach out to us at [email protected].
Additional Information
For more detailed documentation, please visit our project site.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
-
net6.0
- Intelsoft.Platform.Common.Result (>= 1.0.0-beta-1)
- MediatR.Contracts (>= 2.0.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Intelsoft.Platform.Domain.Core:
Package | Downloads |
---|---|
Intelsoft.Platform.Infrastructure.Data.EntityFrameworkCore
Infrastructure library providing Entity Framework Core implementation for data access and persistence. Includes repository and specification patterns, and entity configuration. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0-beta-1 | 76 | 4/14/2024 |