This package provides basic building block to build domain driven applications.
$ dotnet add package Domaincrafters.DomainDomaincrafters/domain is a package designed to simplify the development of educational Domain-Driven Design (DDD) projects in .NET using C#. It provides essential domain constructs that embody DDD principles, including Entities, Repositories, and UUID-based Entity Identifiers. 🏗️
See the CHANGELOG for detailed information about changes in each version.
In your .NET project, install the package from NuGet:
dotnet add package Domaincrafters.Domain
Then, in your C# file:
using System;
using DomainCrafters.Domain;
// Example EntityId using a UUID
public class MyEntityId : UUIDEntityId
{
public MyEntityId(Guid value) : base(value) {}
}
// Example Entity
public class MyEntity : Entity<MyEntityId>
{
public string Name { get; private set; }
public MyEntity(MyEntityId id, string name) : base(id)
{
Name = name;
}
}
// Example Repository Interface
public interface IMyEntityRepository : IRepository<MyEntity, MyEntityId>
{
// Add your domain-specific methods here
}
Contributions are welcome! Please follow these steps:
git checkout -b feature/YourFeature.git commit -m 'feat: Add new feature'.git push origin feature/YourFeature.Please ensure your code adheres to the project's coding standards and includes relevant tests. 🧪
This project follows semantic versioning. To simplify the release process, we use conventional commits. Please ensure your commit messages follow the conventional commit format.
This project is licensed under the MIT License.
Happy coding with domaincrafters domain! 🚀✨
Emoticon Guide:
Feel free to adjust or add more emojis to better suit your project's personality and documentation style!