EXCSLA.Shared.Core
5.3.1
dotnet add package EXCSLA.Shared.Core --version 5.3.1
NuGet\Install-Package EXCSLA.Shared.Core -Version 5.3.1
<PackageReference Include="EXCSLA.Shared.Core" Version="5.3.1" />
<PackageVersion Include="EXCSLA.Shared.Core" Version="5.3.1" />
<PackageReference Include="EXCSLA.Shared.Core" />
paket add EXCSLA.Shared.Core --version 5.3.1
#r "nuget: EXCSLA.Shared.Core, 5.3.1"
#:package EXCSLA.Shared.Core@5.3.1
#addin nuget:?package=EXCSLA.Shared.Core&version=5.3.1
#tool nuget:?package=EXCSLA.Shared.Core&version=5.3.1
EXCSLA.Shared.Core
Core Domain-Driven Design abstractions and domain model classes for EXCSLA.
Overview
This metapackage provides the complete core layer with domain model classes including AggregateRoot, Entity, ValueObject, and BaseDomainEvent.
Key Classes
- AggregateRoot - Base class for domain aggregates
- Entity - Base class for domain entities
- ValueObject - Base class for value objects
- BaseDomainEvent - Base class for domain events
Installation
dotnet add package EXCSLA.Shared.Core
Usage
Create an Aggregate Root
public class Order : AggregateRoot
{
public OrderNumber OrderNumber { get; private set; }
public OrderStatus Status { get; private set; }
public Order(OrderNumber orderNumber)
{
OrderNumber = orderNumber;
Status = OrderStatus.Pending;
}
}
Create a Value Object
public class Money : ValueObject
{
public decimal Amount { get; }
public Currency Currency { get; }
public Money(decimal amount, Currency currency)
{
Amount = amount;
Currency = currency;
}
}
Dependencies
- .NET 10.0 or higher
- EXCSLA.Shared.Core.Abstractions
- EXCSLA.Shared.Core.DomainModels
- EXCSLA.Shared.Core.Exceptions
- EXCSLA.Shared.Core.GuardClauses
- EXCSLA.Shared.Core.Specifications
- EXCSLA.Shared.Core.ValueObjects
License
See LICENSE file in repository
Support
For issues and questions, visit the GitHub repository
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- Ardalis.GuardClauses (>= 5.0.0)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on EXCSLA.Shared.Core:
| Package | Downloads |
|---|---|
|
EXCSLA.Shared.Core.ValueObjects.Common
Common Value Objects found in many domains. Such as Name, Email, Phone Number, etc. |
|
|
EXCSLA.Shared.Core.Abstractions
A Domain Driven shared library, containing basic components for setting up a domain. This package contains interfaces needed to implement various services within this framework. |
|
|
EXCSLA.Shared.Core.Abstractions.DomainEventDispatcher
Package Description |
|
|
EXCSLA.Shared.Infrastructure.Data
A Domain Driven shared library, containing basic components for setting up a domain. Contains base classes for AggregateRoots, Entities, and value objects. These each have proper overrides for Equals, ==, and !=. This package also includes interfaces for setting up domain events as well as interfaces for using a repository pattern. This is an open source project please feel free to do a pull request on the github repo. |
|
|
EXCSLA.Shared.Core.ValueObjects
Common Value Objects found in many domains. Such as Name, Email, Phone Number, etc. |
GitHub repositories
This package is not used by any popular GitHub repositories.