Intelsoft.Platform.Domain.Core 1.0.0-beta-1

This is a prerelease version of Intelsoft.Platform.Domain.Core.
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                
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="Intelsoft.Platform.Domain.Core" Version="1.0.0-beta-1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Intelsoft.Platform.Domain.Core --version 1.0.0-beta-1                
#r "nuget: Intelsoft.Platform.Domain.Core, 1.0.0-beta-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.
// 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 support@intelsoft.com.

Additional Information

For more detailed documentation, please visit our project site.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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 78 4/14/2024