20 packages tagged with “Obsession”
This package contains a Souce Generator which generates Value Objects that wrap simple primitives such as int, string, double etc. A ValueObject is a strongly typed (strongly, not stringly) domain object that is immutable. Instead of `int customerId = 42;` we have `var customerId = CustomerId.From(42);` To use, just create something like this: [ValueObject(typeof(int))] public partial struct CustomerId { } var customerId = CustomerId.From(42); Validation is in just one place. You can't introduce bad objects into your domain, therefore you can assume that in your domain every ValueObject is valid.
Declare Value Objects in one line e.g. `class ClientRef : ValueOf<string, ClientRef> { }`), create using `ClientRef.From(someString)` The base Type ValueOf<TValue, TThis>, provides Equals, GetHashcode. Use ValueTuples for multi property values e.g `class Address : ValueOf<(string firstLine, string secondLine, Postcode postcode), Address> {}`
A library which provides the core abstractions for the Primitively C# source generator
A C# source generator that promotes the benefits of type-safety by encapsulating primitive types commonly used as identifiers or value objects
A library which provides ASP.NET Core Model Binding and Open Api Schema support for types produced by the Primitively C# source generator
A library which provides FluentValidation support for types produced by the Primitively C# source generator
This package contains a very simple implementation of a ValueObject in .NET. A ValueObject is a strongly typed (strongly, not stringly) domain object that is immutable. Instead of `int customerId = 42;` we have `var customerId = CustomerId.From(42);` Validation is in just one place. You can't introduce bad objects into your domain, therefore you can assume that in your domain every ValueObject is valid. Handy.
Package Description
A library which provides MongoDB support for types produced by the Primitively C# source generator
A library which provides ASP.NET Core Open Api Schema support for types produced by the Primitively C# source generator
A library which provides ASP.NET Core MVC support for types produced by the Primitively C# source generator
Strongly-typed c# primitives to avoid primitive obsession
A comprehensive .NET library for creating type-safe, validated string and physics quantity types using semantic meaning. Transform primitive string and numeric obsession into strongly-typed, self-validating domain models with 50+ validation attributes, polymorphic path handling, complete physics system covering 80+ quantities across 8 scientific domains, centralized physical constants with dimensional analysis, and performance-optimized utilities. Features include bootstrap architecture for circular dependency resolution, factory pattern support, dependency injection integration, and enterprise-ready capabilities for building robust, maintainable scientific and domain-specific applications.